In SQL Server 2005, was ist der Unterschied zwischen len () und datalength ()?
-
05-09-2019 - |
Frage
Was ist der Unterschied zwischen len () und datalength () in SQL Server 2005?
Lösung
DATALEN wird die Anzahl der Bytes zurück, die den Wert werden zum Speichern:
http://msdn.microsoft.com/en -US / library / ms173486 (SQL.90) aspx
LEN wird die Anzahl der Zeichen in einem String zurück. Da ein String Einzel- oder Doppel-Byte-Zeichen verwenden können, unterscheidet sich diese von DATALENGTH, dass Sie immer ein, egal, wie lange ein einzelnes Zeichen ist:
Andere Tipps
DATALENGTH gibt die Länge der Zeichenfolge in Bytes, einschließlich Leerzeichen. LEN gibt die Länge in Zeichen, ohne Leerzeichen. Zum Beispiel:
SELECT LEN ( 'string'), LEN ( 'string'), DATALENGTH ( 'string'), DATALENGTH ( 'string'), LEN (N'string '), LEN (N'string ‚), DATALENGTH (N'string '), DATALENGTH (N'string ‚)
kehren 6, 6, 6, 9, 6, 6, 12, 18
Die Len () werden trimmen (Leerzeichen entfernen Hinter) von den Daten.
Die DataLength () Funktion nicht
Beispiele: Wählen Sie Len ( 'Test') - dies wird zurückkehren 4
Wählen Sie DATALENGTH ( 'Test') - das wird wieder 5
FERNER (aggregierte von anderen fantastischen und nützlichen Antworten):
DATALENGTH gibt die Länge der Zeichenfolge in BYTES, einschließlich Leerzeichen http://msdn.microsoft.com/en-us /library/ms173486(SQL.90).aspx
LEN gibt die Länge in Zeichen, mit Ausnahme hinteren Räume http://msdn.microsoft.com/en-us/library/ms190329. aspx
Da Strings von einem oder zwei Bytes (Unicode), die Ergebnisse entweder in Abhängigkeit sowohl variieren bestehen könnte auf den Datentyp des Strings und ob es Leerzeichen in der Zeichenfolge
Beispiel:
SELECT LEN ( 'string'), LEN ( 'string'), DATALENGTH ( 'string'), DATALENGTH ( 'string'), LEN (N'string '), LEN (N'string ‚), DATALENGTH (N'string '), DATALENGTH (N'string ‚)
Wir kommen wieder 6, 6, 6, 7, 6, 6, 12, 14
Hinsichtlich datalength () gibt die Anzahl der Bytes und Len () gibt einen ganzzahligen Wert für die Anzahl von Zeichen-Strings.