text ntext 型の文字列が空文字かを判定する

SQL ServerのTransact-SQLにて、text型やntext型の文字列が空文字であるかの判定方法です。

判定

通常の統合を用いた判定

 select * from table1 where textfield = ''

はtext,ntext型では用いることができません。
「データ型 ntext と varchar は equal to 演算子では互換性がありません。」のエラーが発生します。
そのため、text,ntext型の空文字列の判定は、文字列の長さでから文字列を判定します。

SQL例

 select * from table1 where DATALENGTH(textfield) = 0

DATALENGTH関数を用いてtext,ntextのフィールドの値の長さを求め、長さが0ならば空文字列(またはnull)と判定できます。

実際の使用例

textfieldに何らかの値が入っているレコードを取得する場合のSQL例です。

 select * from table1 where textfield is not null and DATALENGTH(textfield) > 0
AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2013-07-27
Copyright © 1995–2025 iPentec all rights reserverd.