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

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
iPentec all rights reserverd.