Verketten der Daten von zwei Feldern zu ignorieren NULL-Werte in einer von Ihnen?
Dataset ist folgende:
FirstName LastName city street housenum
john silver london ukitgam 780/19
gret garbo berlin akstrass 102
le chen berlin oppenhaim NULL
daniel defo rome corso vinchi 25
maggi forth london bolken str NULL
voich lutz paris pinchi platz NULL
anna poperplatz milan via domani 15/4
schreiben Sie folgende Abfrage:
SELECT Trim(a.FirstName) & ' ' & Trim(a.LastName) AS employee_name,
a.city, a.street + ' ' + a.housenum AS address
FROM Employees AS a
Wird das Ergebnis als dieses:
employee_name city address
john silver london ukitgam 780/19
gret garbo berlin akstrass 102
le chen berlin NULL
daniel defo rome corso vinchi 25
maggi forth london NULL
voich lutz paris NULL
anna poperplatz milan via domani 15/4
aber ich möchte diese:
employee_name city address
john silver london ukitgam 780/19
gret garbo berlin akstrass 102
le chen berlin oppenhaim
daniel defo rome corso vinchi 25
maggi forth london bolken str
voich lutz paris pinchi platz
anna poperplatz milan via domani 15/4
bitte helfen Sie mir.
InformationsquelleAutor Sumon Banerjee | 2014-01-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einfach ISNULL() Funktion für
housenum
Spalte.Sind Sie erste Adresse als NULL, wenn
housenum
Spalte Wert ist NULL weil NULL verkettet mit etwas gibt NULL als Endergebnis.Wie schon geschrieben in den anderen Antworten , können Sie auch COALESCE() zum behandeln von NULL-Werten.
VERSCHMELZEN ist in der SQL '92-standard und Unterstützung von verschiedenen Datenbanken. Auf der anderen Seite ISNULL() ist in SQL Server nur als wäre nicht viel tragbar.
InformationsquelleAutor Mudassir Hasan
Können Sie
COALESCE
zu handhaben, dienull
s:Beachten Sie, dass ich das
coalesce
zu' ' + a.housenum
so im Fallehousenum
istnull
Sie werden nicht mit Leerzeichen.InformationsquelleAutor Mureinik
InformationsquelleAutor Sumon Banerjee
Können Sie
CONCAT(col1,col2)
Funktion statt mit + wie folgt:InformationsquelleAutor Sonia
ersetzen Sie einfach
housenum
mit
ISNULL ( housenum , " )
Wäre das Ergebnis der housenum oder eine leere Zeichenfolge
InformationsquelleAutor wegus
versuchen, wie diese
als es ignoriert null . Sie werden das Ergebnis bekommen, das Sie erwartet
InformationsquelleAutor vivek