1. ホーム
  2. sql

[解決済み] SQLサーバーでIs not NullとIs not Empty文字列をチェックする方法は?

2022-03-31 12:26:50

質問

SQL Serverでどのように確認するのですか? WHERE カラムがヌルでなく、空文字列でないかという条件 ( '' )?

解決方法は?

空の文字列として""にのみマッチさせたい場合

WHERE DATALENGTH(COLUMN) > 0 

空白だけで構成される文字列を空とカウントしたい場合

WHERE COLUMN <> '' 

これらは両方とも NULL の中で使用された場合、その値は WHERE 節を使用します。として NULL は、次のように評価されます。 UNKNOWN でなく、これらのための TRUE .

CREATE TABLE T 
  ( 
     C VARCHAR(10) 
  ); 

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

SELECT * 
FROM   T 
WHERE  C <> ''

一行だけを返します。 A . すなわち NULL または空の文字列、あるいはスペースのみからなる文字列は、このクエリによってすべて除外されます。

SQLフィドル