Domanda

Perché l'output è diverso di questa query

SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))

Output:

4,30

È stato utile?

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
scroll top