SQL Server 2005では、LEN()とデータ長()の違いは何ですか?
-
05-09-2019 - |
質問
LEN()とデータ長(との違いは、SQL Server 2005で)何ですか?
解決
DATALEN値を格納するために使用されるバイト数を返します。
http://msdn.microsoft.com/en -us /ライブラリ/ ms173486(SQL.90).aspxのの
LENは、文字列の文字数を返します。文字列はシングルまたはダブルバイト文字を使用することができますので、これはその中DATALENGTH異なりますが、常に関係なく、1を取得していないでしょうどのくらい単一の文字です。
他のヒント
DATALENGTHは、末尾のスペースを含めバイト、文字列の長さを返します。 LENは、末尾のスペースを除いた、文字の長さを返します。たとえば、
SELECT LEN( '文字列')、 LEN( '文字列')、 DATALENGTH( '文字列')、 DATALENGTH( '文字列')、 LEN(N'string ')、 LEN(N'string「)、 DATALENGTH(N'string ')、 DATALENGTH(N'string「)
6、6、6、9、6、6、12、18
戻りますレン()データから(末尾のスペースを削除)トリミングします。
DataLengthの()関数はしない
例: レンを選択します(「テスト」) - これは4
が返されますを選択DATALENGTH( 'テスト') - これは戻ります5
さらに(他の幻想的で有用な回答から集約):
DATALENGTHは、末尾のスペースを含め、バイト単位での文字列の長さを返します http://msdn.microsoft.com/en-us /library/ms173486(SQL.90).aspxする
LENは、末尾のスペースを除いた文字の長さを返します http://msdn.microsoft.com/en-us/library/ms190329。 ASPXする
の文字列は、1つのまたは2バイト(ユニコード)から成るかもしれないので、文字列のデータ・タイプの両方に依存して変化するであろういずれかを使用した結果、文字列の末尾にスペースがあるかどうか
たとえば、
SELECT LEN( '文字列')、 LEN( '文字列')、 DATALENGTH( '文字列')、 DATALENGTH( '文字列')、 LEN(N'string ')、 LEN(N'string「)、 DATALENGTH(N'string ')、 DATALENGTH(N'string「)
を返します 6、6、6、7、6、6、12、14
(データ長を文字列へに関しては)バイトとlen(の数を返す)文字の数を表す整数値を返します。