Wie können wir in einer SQL Server- WHERE
Bedingung überprüfen , ob die Spalte nicht null und nicht die leere Zeichenfolge ( ''
) ist?
sql
sql-server
user993935
quelle
quelle
WHERE COALESCE(column, '') <> ''
?column
es einen Index gibt, wird Ihre Abfrage ihn wahrscheinlich nicht verwendenHeutzutage (4,5 Jahre später) würde ich nur verwenden, um einem Menschen das Lesen zu erleichtern
Es besteht zwar die Versuchung, die Nullprüfung explizit zu machen ...
... wie @Martin Smith in der akzeptierten Antwort demonstriert, fügt es nicht wirklich etwas hinzu (und ich persönlich meide heutzutage SQL-Nullen vollständig, so dass es sowieso nicht auf mich zutrifft!).
quelle
Coalesce faltet Nullen in einen Standardwert:
quelle
im Grunde
quelle
Eine indexfreundliche Methode hierfür ist:
Wenn nicht viele Zeilen vorhanden sind oder dieses Feld nicht indiziert ist, können Sie Folgendes verwenden:
quelle
Sie können eine dieser Optionen verwenden, um Null-, Leerzeichen- und leere Zeichenfolgen zu überprüfen.
quelle
Überprüfen Sie einfach: wobei Wert> '' - nicht null und nicht leer
quelle