Ich möchte wissen, wie NULL und eine leere Zeichenfolge gleichzeitig in einer WHERE
Klausel in SQL Server verwendet werden. Ich muss Datensätze finden, die entweder Nullwerte oder eine leere Zeichenfolge haben. Vielen Dank.
sql
sql-server
null
where
poshan
quelle
quelle
Antworten:
Oder
quelle
Sie können dies einfach tun:
quelle
Wenn Sie es im SELECT- Bereich benötigen, können Sie es wie folgt verwenden.
Sie können das
null
durch Ihren Ersetzungswert ersetzen .quelle
quelle
ltrim
undrtrim
wenn das Ziel lediglich darin besteht, mit einer leeren Zeichenfolge zu vergleichen. GRUND: Wenn es NUR Leerzeichen gibt, wird durch einen einzigen Schnitt alles entfernt. Zum Beispiel ist es Ihnen egal, ob der Vergleich fehlschlägt, weil "abc" oder "abc" übrig bleibt.So finden Sie Zeilen, in denen sich col befindet
NULL
, leere Zeichenfolge oder Leerzeichen (Leerzeichen, Tabulatoren):So finden Sie Zeilen, in denen sich col befindet
NOT NULL
, leere Zeichenfolge oder Leerzeichen (Leerzeichen, Tabulatoren):quelle
Einige sargable Methoden ...
Und einige nicht sargable ...
quelle
Das ist hässliches MSSQL:
quelle
meine beste Lösung:
COALESCE gibt den ersten Nicht-Null-Ausdruck in der Ausdrucksliste () zurück.
Wenn der fieldValue null oder eine leere Zeichenfolge ist, dann: Wir geben das zweite Element zurück, dann 0.
Wenn also 0 gleich 0 ist, ist dieser Feldwert eine Null oder eine leere Zeichenfolge.
in Python zum Beispiel:
Viel Glück
quelle
Sie überprüfen null mit IS NULL und Zeichenfolge leer mit LEN (RTRIM (LTRIM (Spalte))) = 0 in
quelle
quelle
quelle
Sie können die
isnull
Funktion verwenden, um sowohlnull
leere als auch leere Werte eines Textfelds abzurufen:quelle
Sie können dies überprüfen
''
,NULL
indem Sie es inNULL
using konvertierenNULLIF
oder Sie können
NULL
als''
mit prüfenSELECT ISNULL(NULL,'')
quelle
In sproc können Sie die folgende Bedingung verwenden:
quelle
durch diese Funktion:
und benutze dies:
dbo.isnull (Wert, 0)
quelle
quelle