Come è possibile verificare in una condizione di SQL Server WHERE
se la colonna non è null e non la stringa vuota (''
)?Come verificare la presenza di stringhe non Null E non vuote nel server SQL?
risposta
Se solo si desidera far corrispondere "" come una stringa vuota
WHERE DATALENGTH(COLUMN) > 0
Se si desidera contare qualsiasi stringa costituita interamente da spazi come vuoto
WHERE COLUMN <> ''
Entrambi questi non tornerà NULL
valori quando utilizzato in una clausola WHERE
. Poiché NULL
valuterà come UNKNOWN
per questi anziché TRUE
.
CREATE TABLE T
(
C VARCHAR(10)
);
INSERT INTO T
VALUES ('A'),
(''),
(' '),
(NULL);
SELECT *
FROM T
WHERE C <> ''
Restituisce solo la riga singola A
. Cioè Le righe con NULL
o una stringa vuota o una stringa che consiste interamente di spazi sono tutte escluse da questa query.
WHERE NULLIF(your_column, '') IS NOT NULL
Al giorno d'oggi (4,5 anni su), per rendere più facile per un essere umano da leggere, vorrei solo usare
WHERE your_column <> ''
Mentre v'è una tentazione di fare il controllo nullo esplicito ...
WHERE your_column <> ''
AND your_column IS NOT NULL
... come @Martin Smith dimostra nella risposta accettata, in realtà non aggiunge nulla (e io personalmente evito completamente i null SQL al giorno d'oggi, quindi non si applica comunque a me!).
Coalesce si piega nulli in un predefinito:
COALESCE (fieldName, '') <> ''
Questa condizione effettuerà un "spazio nullo, vuoto o bianco" controllare, senza manipolazione stringa inutile di LTRIM
e RTRIM
.
SELECT
*
FROM
[Table]
WHERE
COALESCE(PATINDEX('%[^ ]%', [Value]), 0) > 0
Un indice modo amichevole per farlo è:
where (field is not null and field <> '')
Se non ci sono molte righe o questo campo non è indicizzata, è possibile utilizzare:
where isnull(field,'') <> ''
verifica: dove valore> '' - non null e non vuoto
-- COLUMN CONTAINS A VALUE (ie string not null and not empty) :
-- (note: "<>" gives a different result than ">")
select iif(null > '', 'true', 'false'); -- false (null)
select iif('' > '', 'true', 'false'); -- false (empty string)
select iif(' ' > '', 'true', 'false'); -- false (space)
select iif(' ' > '', 'true', 'false'); -- false (tab)
select iif('
' > '', 'true', 'false'); -- false (newline)
select iif('xxx' > '', 'true', 'false'); -- true
--
--
-- NOTE - test that tab and newline is processed as expected:
select 'x x' -- tab
select 'x
x' -- newline
in modo base
SELECT *
FROM [TableName]
WHERE column_name!='' AND column_name IS NOT NULL
- 1. NSPredicate per testare NULL e stringhe vuote
- 2. RegularExpressionValidator non rileva stringhe vuote
- 3. Non includere stringhe vuote o null con jQuery $ .param()
- 4. Come faccio a verificare la presenza di vuoto nel DataView.RowFilter
- 5. in_array verificare la presenza di valori non falsi
- 6. C#: convalida Argomento: null/stringhe vuote
- 7. Sqlite: come eliminare le righe che contengono stringhe null/vuote
- 8. C#: XmlTextWriter.WriteElementString non riesce su stringhe vuote?
- 9. Come verificare la presenza di caratteri alfanumerici
- 10. SQL LIKE condition per verificare la presenza di un intero?
- 11. Come verificare la presenza di file
- 12. LINQ selezionare le stringhe non vuote
- 13. Come verificare null nel metodo operatore ==?
- 14. Come verificare la presenza di più attributi in XPath?
- 15. Verificare la presenza di una tastiera divisa
- 16. Come verificare la presenza di TR1 durante la compilazione?
- 17. come trovare la colonna non utilizzata in un database (SQL Server 2008).
- 18. come verificare la presenza di un array vuoto java
- 19. Proprietà nested opzionale di Mongoose: verificare la presenza di null/undefined?
- 20. MySQL può convertire automaticamente stringhe vuote in NULL?
- 21. Verificare la presenza di un falso
- 22. Verificare la presenza di un elenco secondario
- 23. Come verificare la presenza di un PDF danneggiato in iOS?
- 24. Come verificare la presenza di caratteri speciali usando regex
- 25. LINQ a stringhe SQL e Null, come utilizzare Contains?
- 26. Vincolo NULL SQL Server
- 27. Python: Come verificare se due liste non sono vuote
- 28. Come convalidare la presenza nel framework Phoenix?
- 29. Postgres - Come verificare la presenza di un array vuoto
- 30. SQL Server Raiserror non causano un'eccezione nel client .NET
Perché non 'DOVE COALESCE (colonna, '') <> '''? –
Perché se 'column' ha un indice, la tua query probabilmente non la userà – Lamak