Domanda

Qual è la differenza tra len () e datalength () in SQL Server 2005?

È stato utile?

Soluzione

datalen restituisce il numero di byte che vengono utilizzati per memorizzare il valore:

http://msdn.microsoft.com/en -us / library / ms173486 (SQL.90) .aspx

LEN restituisce il numero di caratteri di una stringa. Dal momento che una stringa può utilizzare caratteri singoli oa doppio byte, questo si differenzia da DATALENGTH in che otterrete sempre 1, non importa quanto tempo un singolo carattere è:

http://msdn.microsoft.com/en-us/library/ ms190329.aspx

Altri suggerimenti

DATALENGTH restituisce la lunghezza della stringa in byte, inclusi gli spazi finali. LEN restituisce la lunghezza in caratteri, esclusi gli spazi finali. Ad esempio,

SELEZIONARE   LEN ( 'stringa'),   LEN ( 'stringa'),   DATALENGTH ( 'stringa'),   DATALENGTH ( 'stringa'),   LEN (N'string '),   LEN (N'string '),   DATALENGTH (N'string '),   DATALENGTH (N'string ')

restituirà 6, 6, 6, 9, 6, 6, 12, 18

La Len () assetterà (rimuovere gli spazi finali) sulla base dei dati.

La funzione DataLength () non lo fa

Esempi: Seleziona Len ( 'Test') - questo tornerà 4

Seleziona DATALENGTH ( 'Test') - questo ritornerà 5

INOLTRE (aggregati da altre risposte fantastiche e utili):

DATALENGTH restituisce la lunghezza della stringa in byte, inclusi gli spazi finali http://msdn.microsoft.com/en-us /library/ms173486(SQL.90).aspx

LEN restituisce la lunghezza in caratteri, esclusi spazi finali http://msdn.microsoft.com/en-us/library/ms190329. aspx

Poiché stringhe potrebbero consistere di uno o 2 byte (Unicode), i risultati utilizzando varierà a seconda sia il tipo di dati della stringa e se vi siano spazi finali nella stringa

Ad esempio,

SELEZIONARE     LEN ( 'stringa'),     LEN ( 'stringa'),     DATALENGTH ( 'stringa'),     DATALENGTH ( 'stringa'),     LEN (N'string '),     LEN (N'string '),     DATALENGTH (N'string '),     DATALENGTH (N'string ')

Tornerà 6, 6, 6, 7, 6, 6, 12, 14

Con riferimento a stringhe datalength () restituisce il numero di byte e len () restituisce un valore intero per il numero di caratteri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top