Entwickler-Ecke

Datenbanken - CONCAT mit NULL-Werten


Klabautermann - Mo 14.07.08 10:47
Titel: CONCAT mit NULL-Werten
Hallo,

folgendes Problem, ich habe ein Query nach dem Muster

SQL-Anweisung
1:
2:
3:
SELECT Nachname || '; ' || Vorname as GanzerName
FROM Adressen 
{...}


was im wesentlichen auch funktioniert. Leider ist der zusammengesetzte String aber immer NULL wenn einer der Teilstrings NULL ist. Ich suche nun einen möglichst eleganten Weg einen NULL Wert wie einen Leerstring zu behandeln, damit diese Stringoperation immer funktioniert (und ich im schlimmsten Fall nur ein Semikolon zurück bekomme).

Kann mir jemand helfen?

Gruß
Klabautermann


jaevencooler - Mo 14.07.08 10:58

Tach auch,


siehe bitte folgenden Link:

http://www.firebirdsql.org/manual/nullguide-conversions.html

ich hoffe das hilft Dir weiter.

Gruß
Michael

Moderiert von user profile iconTino: URL-Tags korrigiert.


Klabautermann - Mo 14.07.08 11:12

Ja, sehr schön damit lässt sich das Problem lösen, und über das Konvertieren zu Null auch noch gleich das unschöne Semikolon entfernen wenn Vorname = '' ist.

Die Resultierende Anfrage sieht nun so aus:


SQL-Anweisung
1:
2:
3:
select coalesce(Nachname, '') || coalesce('; ' || nullif(Vorname, ''), ''as GanzerName
FROM Adressen 
{...}


Gruß
Klabautermann