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
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-07
作成日: 2013-07-27