質問

LEN()とデータ長(との違いは、SQL Server 2005で)何ですか?

役に立ちましたか?

解決

DATALEN値を格納するために使用されるバイト数を返します。

http://msdn.microsoft.com/en -us /ライブラリ/ ms173486(SQL.90).aspxの

LENは、文字列の文字数を返します。文字列はシングルまたはダブルバイト文字を使用することができますので、これはその中DATALENGTH異なりますが、常に関係なく、1を取得していないでしょうどのくらい単一の文字です。

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

他のヒント

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(の数を返す)文字の数を表す整数値を返します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top