Abfrage auf Austrittsdatum mit IFNULL

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Abfrage auf Austrittsdatum mit IFNULL

Re: Abfrage auf Austrittsdatum mit IFNULL

von Jo Reuter » Mi, 10.02.2010 20:29

Hallo Barlee,
das ist genau das, was ich gesucht habe. Du hast mein Problem(chen) gelöst. Vielen Dank!

Gruß

Jo

Re: Abfrage auf Austrittsdatum mit IFNULL

von Barlee » Mi, 10.02.2010 19:44

Hallo Jo,

warum nicht so:

Code: Alles auswählen

... where Datumsspalte > 'XXXX-XX-XX' OR Datumsspalte IS NULL
Oder wenn Du unbedingt ein "Pseudodatum" (z.B. 31.12.2099) bei Nullwerten vergeben möchtest, dann so:

Code: Alles auswählen

SELECT 
CAST(IFNULL("Datumsspalte",'2099-12-31') AS DATE) AS "Datum" 
FROM "Deine_Tabelle" 
WHERE CAST(IFNULL("Datumsspalte",'2099-12-31') AS DATE) > '2010-02-10'
In letzterem Fall "SQL Kommando direkt ausführen" aktivieren!

Gruß Barlee

Re: Abfrage auf Austrittsdatum mit IFNULL

von Jo Reuter » Mi, 10.02.2010 18:16

Hallo Andreas,

vielen Dank für die schnelle Antwort. Deine vorgeschlagenen Lösungen funktionieren natürlich. Aber vielleicht habe ich mich zu undeutlich ausgedrückt. Ich suche eine einzige Abfrage, mit der ich alle befristet Beschäftigten mit Austrittsdatum > xx.xx.xxxx und alle unbefristet Beschäftigten aufliste. Daher habe ich versucht das leere Feld "Austritt" mit IFNULL in der Abfage mit einem Datum (31.12.2099) zu "füllen" und dann abzufragen.

Gruß

Jo

Re: Abfrage auf Austrittsdatum mit IFNULL

von AndreasJBittner » Di, 09.02.2010 09:56

Hallo,

versuchs mal mit SELECT * FROM <TABELLE> WHERE Austrittsdatum IS NULL

Dieselbe Abfrage mit "IS NOT NULL" liefert Dir die Festangestellten. Das Feld Austrittsdatum muß dann wirklich leer sein (also NULL: Mantra - NULL is a state, not a value; NULL is a state, not a value; NULL is a state, not a value).

HTH & Grüße
Andreas

Abfrage auf Austrittsdatum mit IFNULL

von Jo Reuter » So, 07.02.2010 18:52

Ich (Base-Anfänger) habe (OO 3.1.0 -unter Suse 11.0) eine Datenbank erstellt, mit der ich Personal in verschiedenen Einrichtungen verwalten möchte.
Die Tabelle "Personal" enthält ein Feld "Austrittsdatum". Dieses ist bei unbefristet Beschäftigten "leer". Wenn ich nun abfragen will, welche Personen am 31.12.2009 noch beschäftigt sind, werden, wenn ich über das Austrittsdatum abfrage, natürlich nur die befristet Beschäftigten mit Austrittsdatum nach dem 31.12.2009 aufgelistet. Ich habe versucht die unbefristeten Fälle mit IFNULL abzufangen, aber da liefert die Abfrage kein Datumsformat mehr, sondern nur das Datum als lfd. Zahl. Außerdem kann ich kein Kriterium auf IFNULL setzen. Wenn ich hier ein Datum eingebe, oder die entsprechende fortlaufende Zahl, erhalte ich die Fehlermeldung, dass es sich hier um den falschen Datentaype handelt.

Hat jemand eine Idee zur Lösung?

Nach oben