質問

出力がこのクエリと異なる理由

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

出力:

4,30

役に立ちましたか?

解決

Varcharは常に渡された文字列の長さに調整します。したがって、出力は4です。

CHARのデフォルトの長さは30であるため、出力は30です。

他のヒント

なぜなら 「キャストと変換機能を使用するときにnが指定されていない場合、デフォルトの長さは30です"。しかし、DatalengthがVarcharフィールドに適用されると、後続のスペースを無視しますが、Charフィールドの場合、長さはフィールド自体のサイズにすぎません。

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