VarChar e Char si comportano differenti su calco
-
27-09-2019 - |
Domanda
Perché l'output è diverso di questa query
SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))
Output:
4,30
Soluzione
VarChar regola sempre alla lunghezza della stringa passata. quindi l'uscita è 4.
CHAR ha lunghezza predefinita di 30 e quindi l'uscita è 30.
Altri suggerimenti
"Quando n non è specificato quando si utilizza il cast e convertire le funzioni, le lunghezza di default è 30 ". Ma quando DataLength è applicato ad un campo varchar, ignora gli spazi finali, mentre per un campo char la lunghezza è solo la dimensione del campo stesso.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow