WHERE
SQL Server条件で、列が null ではなく、空の文字列 ( ''
)でもないかどうかを確認するにはどうすればよいですか?
ベストアンサー1
空の文字列として「」のみを一致させたい場合
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
または空の文字列、あるいは完全にスペースで構成された文字列を含む行はすべてこのクエリによって除外されます。