SQL サーバーで Null ではなく空でない文字列を確認するにはどうすればよいでしょうか? 質問する

SQL サーバーで Null ではなく空でない文字列を確認するにはどうすればよいでしょうか? 質問する

WHERESQL Server条件で、列が null ではなく、空の文字列 ( '')でもないかどうかを確認するにはどうすればよいですか?

ベストアンサー1

空の文字列として「」のみを一致させたい場合

WHERE DATALENGTH(COLUMN) > 0 

スペースのみの文字列を空文字列としてカウントしたい場合

WHERE COLUMN <> '' 

NULLこれらは両方とも、 節で使用された場合、値を返しませんWHERE。 は、これらに対して ではなくNULLとして評価します。UNKNOWNTRUE

CREATE TABLE T 
  ( 
     C VARCHAR(10) 
  ); 

INSERT INTO T 
VALUES      ('A'), 
            (''),
            ('    '), 
            (NULL); 

SELECT * 
FROM   T 
WHERE  C <> ''

単一の行のみを返しますA。つまり、NULLまたは空の文字列、あるいは完全にスペースで構成された文字列を含む行はすべてこのクエリによって除外されます。

SQL フィドル

おすすめ記事