Suchen in einem Datumsfeld

Hallo,
ich habe ein Feld Typ date: mahndatum_1. Dieses Feld wird nur bei Bedarf
gefüllt und ist zunächst leer. Aus einer Situation kann sich ergeben, dass in diesem
Feld nach einem leeren Eintrag gesucht werden muss. Beispiel: Zeige mir alle Datensätze, in denen das Feld mahndatum_1 leer ist.
Da “nichts” in diesem Feld steht, ich aber trotzdem diese Ergebnisse benötige, weiß ich nicht, wie ich nach “nichts” in diesem Feld suchen soll.

select mahndatum_1 from meine_tabelle where mahndatum_1=NULL //oder
select mahndatum_1 from meine_tabelle where mahndatum_1='' // leerer String

funktionieren beide nicht. Ein String wäre auch das falsche Format.
Hat jemand eine Idee?

Gruß
Burkhard

Du kannst nicht etwas mit NULL vergleichen, also = NULL geht nicht. Du kannst aber prüfen, ob es NULL ist: isnull

test=*# select 1 isnull;
 ?column?
----------
 f
(1 row)

test=*# select NULL isnull;
 ?column?
----------
 t
(1 row)

Andreas

Hallo Andreas,

danke, hat mir Super!!! geholfen,

Gruß
Burkhard

Man lernt nie aus. Ich wusste nicht, dass das in Postgres geht.

Ich habe bis jetzt immer spalte IS NULL verwendet

@Burkhard: wenn Du auf Portabilität Wert legst (bzw. Dich nicht bei jeder Datenbank an eine neue Syntax gewöhnen willst) ist es vielleicht sinnvoll IS NULL zu verwenden, statt die Postgres spezifische Syntax.

ISNULL und IS NULL sind das gleiche :wink:

Nicht ganz :slight_smile:
ISNULL funktioniert mit keiner anderen Datenbank

Na gut, Korrektur:
ISNULL und IS NULL sind in PostgreSQL das gleiche :wink: