VARCHAR y Char se comportan diferente en fundido
-
27-09-2019 - |
Pregunta
¿Por qué la salida es diferente de esta consulta ??p>
SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))
Salida:
4,30
Solución
VarChar siempre se ajusta a la longitud de la cadena pasada. por lo tanto, la salida es 4.
CHAR tiene longitud predeterminada de 30 y por lo tanto la salida es 30.
Otros consejos
Debido "Cuando n no se especifica cuando se utiliza el elenco y convertir funciones, las longitud predeterminada es 30 ". Pero cuando una longitud de datos se aplica a un campo varchar, ignora los espacios finales, en tanto que para un campo Char la longitud es sólo el tamaño del campo mismo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow