Если вы хотите сопоставить только "" как пустую строку
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 Fiddle