Suchen in einem Datumsfeld

Allgemeines zu PostgreSQL.

Suchen in einem Datumsfeld

Beitragvon burkhard » Mi 21. Jul 2010, 12:28

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.
Code: Alles auswählen
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
burkhard
Benutzer
 
Beiträge: 45
Registriert: Do 1. Okt 2009, 15:33

Beitragvon akretschmer » Mi 21. Jul 2010, 12:33

burkhard hat geschrieben: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.
Code: Alles auswählen
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

Code: Alles auswählen
test=*# select 1 isnull;
 ?column?
----------
 f
(1 row)

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


Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5954
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon burkhard » Mi 21. Jul 2010, 12:39

Hallo Andreas,

danke, hat mir Super!!! geholfen,

Gruß
Burkhard
burkhard
Benutzer
 
Beiträge: 45
Registriert: Do 1. Okt 2009, 15:33

Beitragvon castorp » Mi 21. Jul 2010, 14:03

akretschmer hat geschrieben:Du kannst nicht etwas mit NULL vergleichen, also = NULL geht nicht. Du kannst aber prüfen, ob es NULL ist: isnull
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.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
castorp
Erfahrener Benutzer
 
Beiträge: 676
Registriert: Sa 27. Jun 2009, 22:24

Beitragvon ads » Mi 21. Jul 2010, 17:54

ISNULL und IS NULL sind das gleiche ;-)
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

PostgreSQL Service & Support
ads
Erfahrener Benutzer
 
Beiträge: 4147
Registriert: Mi 8. Feb 2006, 11:58
Wohnort: MD

Beitragvon castorp » Mi 21. Jul 2010, 18:21

ads hat geschrieben:ISNULL und IS NULL sind das gleiche ;-)

Nicht ganz :)
ISNULL funktioniert mit keiner anderen Datenbank
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
castorp
Erfahrener Benutzer
 
Beiträge: 676
Registriert: Sa 27. Jun 2009, 22:24

Beitragvon ads » Mi 21. Jul 2010, 19:15

Na gut, Korrektur:
ISNULL und IS NULL sind in PostgreSQL das gleiche ;-)
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

PostgreSQL Service & Support
ads
Erfahrener Benutzer
 
Beiträge: 4147
Registriert: Mi 8. Feb 2006, 11:58
Wohnort: MD


Zurück zu Allgemeines

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron