2016-11-23 3 views
0

Ich habe eine Spalte namens County, und in dieser Spalte gibt es manchmal eine Grafschaft und andere Zeiten ist entweder leer oder enthält NULL. Bis jetzt bin ich in der Lage, es zu ändern, wenn es eine leere Zeichenkette zu N/A gibt, aber nicht sicher, wie man es ändert, wenn es auch NULL gibt. Bisher habe ich einen Fall Aussage bin mit zu überprüfen, ob die Spalte eine leere Zeichenfolge enthältWenn die Spaltendaten Null sind oder eine leere Zeichenfolge enthält, dann 'N/A'

case County when '' then 'N/A' end 

aber ich brauche, wenn die Spaltendaten als auch NULL ist und es zu ändern, um N/A zu überprüfen.

Kurz gesagt, wenn Daten in der County-Spalte eine leere Zeichenfolge ist oder NULL ist, muss ich N/A hinzufügen.

+2

hängen von Ihrem RDBMS ab, z.B. Oracle unterstützt keine leeren Strings, also kann man einfach 'nvl (County, 'N/A')' –

Antwort

1
case when County = '' or County is null 
    then 'N/A' 
    else County 
end 
+0

setzen Das funktioniert, aber es fängt nicht alle NULLs ein, ich habe immer noch ein paar Nachzügler, irgendeine Idee warum? Oh BTW, seine Grafschaft und nicht Land :) – Chris

+0

Got it, thanks! – Chris

+0

Ich bin sicher, es fängt alle NULLs. Fügen Sie Beispieldaten hinzu, um diese merkwürdigen Daten zu sehen. –

2

SELECT ISNULL(NULLIF(LTRIM(RTRIM(County)),''), 'N/A') County

3

Ein Weg

Ende
Case when County <> '' then County ELSE 'N/A' end 

am anderen beiden Nullen und leere Strings wäre.

Verwandte Themen