Om du bara vill matcha "" som en tom sträng
WHERE DATALENGTH(COLUMN) > 0
Om du vill räkna en sträng som helt består av mellanslag som tom
WHERE COLUMN <> ''
Båda dessa returnerar inte NULL
värden när de används i en WHERE
klausul. Som NULL
kommer att utvärderas som UNKNOWN
för dessa istället för TRUE
.
CREATE TABLE T
(
C VARCHAR(10)
);
INSERT INTO T
VALUES ('A'),
(''),
(' '),
(NULL);
SELECT *
FROM T
WHERE C <> ''
Returnerar bara den enstaka raden A
. d.v.s. Raderna med NULL
eller en tom sträng eller en sträng som helt består av blanksteg exkluderas alla av den här frågan.