Jak możemy sprawdzić w SQL Server WHERE
warunek, czy kolumna nie ma wartości NULL, a nie pusty ciąg ( ''
)?
sql
sql-server
użytkownik993935
źródło
źródło
WHERE COALESCE(column, '') <> ''
?column
ma indeks, to twoje zapytanie prawdopodobnie go nie wykorzystaTeraz (po 4,5 roku), aby ułatwić człowiekowi czytanie, po prostu skorzystam
Podczas gdy istnieje pokusa, aby jawnie sprawdzić zerowanie ...
... jak pokazuje @Martin Smith w zaakceptowanej odpowiedzi, tak naprawdę nic nie dodaje (a ja osobiście całkowicie unikam null SQL, więc i tak by mnie to nie dotyczyło!).
źródło
Coalesce złoży wartości zerowe w wartość domyślną:
źródło
w podstawowy sposób
źródło
Sposobem na to w indeksie jest:
Jeśli nie ma wielu wierszy lub to pole nie jest indeksowane, możesz użyć:
źródło
Możesz użyć jednego z nich, aby sprawdzić wartości puste, białe i puste.
źródło
Wystarczy sprawdzić: gdzie wartość> '' - nie jest pusta i pusta
źródło