Varchar e Char se comportam diferente no elenco
-
27-09-2019 - |
Pergunta
Por que a saída é diferente desta consulta
SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))
resultado:
4,30
Solução
Varchar sempre se ajusta ao comprimento da corda passada. Portanto, a saída é 4.
O CHAR possui comprimento padrão de 30 e, portanto, a saída é 30.
Outras dicas
Porque "Quando n não é especificado ao usar as funções de elenco e converter, o comprimento padrão é 30". Mas quando o comprimento do dados é aplicado a um campo Varchar, ele ignora os espaços à direita, enquanto para um campo de char o comprimento é apenas o tamanho do próprio campo.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow