-
NULLIF(Feld, 0) entspricht: case when feld =0 then null else feld end
COALESCE(Feld, 0) entspricht: case when feld is null then 0 else feld end
Da dein Zielfeld aber NULL nicht erlaubt (siehe Fehlermeldung) darfst du nicht NULL im Ergabnis haben.
Also wäre Dieters Lösung "select coalesce(feld, 0) from ... where ..." die Richtige.
Allerdings wird trotzdem NULL geliefert, wenn die Where-Klausel nicht fündig wird.
Also "coalesce((select feld from ... where ...), 0)" ist dann fast perfekt.
Um auszuschließen, dass mehr als 1 Zeile kommt, falls die Daten es zulassen, kann man noch ergänzen:
coalesce((select feld from ... where ... fetch first 1 rows only), 0)
Similar Threads
-
By woy in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 26-03-15, 09:49
-
By Robi in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 04-03-14, 15:49
-
By msost in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 04-12-13, 16:39
-
By RM Haaßengier in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 10-07-02, 16:20
-
By Tornado in forum NEWSboard Drucker
Antworten: 4
Letzter Beitrag: 13-08-01, 11:22
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks