SQLServerのクエリでtext型のカラムの空文字とNULLチェックをする方法

DSC00778

2015年03月19日(木)

SQLServerの簡単なTipsです。text型の扱いを知らないと必ずやってしまうこと。とその対応策です。

text型の存在チェックは普通と違うのです。DATALENGTH関数を使うのです。

 

これではできない

たぶんここに見に来た人はこれに引っかかっているんじゃないかと。

できないんだなーこれが。できる方法はちゃんと書いていますよ。安心して。

select * from table where text = ''

 

空文字もしくはNULLのものを取得する

NULLもしくは空文字

select * from table where DATALENGTH(text) = 0

 

空ではないものを取得する

値があるもの

select * from table where text is not null and DATALENGTH(text) > 0

 

ちょっとしたtext型の扱いのTipsですね。

ではまた。