Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come verificare la stringa non è nulla e non è vuota nel server SQL?

Se vuoi solo abbinare "" come stringa vuota

WHERE DATALENGTH(COLUMN) > 0 

Se vuoi contare qualsiasi stringa composta interamente da spazi come vuota

WHERE COLUMN <> '' 

Entrambi non restituiranno NULL valori quando utilizzato in un WHERE clausola. Come NULL valuterà come UNKNOWN per questi invece di TRUE .

CREATE TABLE T 
  ( 
     C VARCHAR(10) 
  ); 

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

SELECT * 
FROM   T 
WHERE  C <> ''

Restituisce solo la singola riga A . Cioè. Le righe con NULL o una stringa vuota o una stringa composta interamente da spazi sono tutti esclusi da questa query.

SQL Fiddle