Seite 1 von 1
PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 8:26
von AUGE_OHR
hi,
ich habe Fragen ...
bei einem "
WHERE" : was darf man als Operanten wie verwenden ?
a.) mit Zeichenwerten
b.) mit numerischen Werten
c.) mit Datumswerten
d.) mit logischen Werten
bei a.) und b.) denke ich ist es klar, aber wie geht c.) für
"WHERE" ? geht so was (auch) in SQL ?
- SQL_WHERE.PNG (27.02 KiB) 9736 mal betrachtet
btw. in welchen Format bekommt man "Datum" von PostgreSQL ?
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 8:35
von UliTs
Das kommt auf die SQL-Umsetzung.
Es geht, wenn es die Funktion CtoD als Scalarfunktion gibt.
Wenn Du stattdessen
verwendet funktioniert dies vermutlich in jedem SQL-Dialekt.
Uli
P.S.
Die Verwendung von .AND. statt AND kann meines Erachtens nur der Advantage Database Server (ADS) und der auch nur bei Verwendung der DLL-Schnittstelle.
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 8:36
von georg
Hallo, Jimmy -
leider ist die PostgreSQL-Seite etwas langsam im Moment. Ich gehe aber davon aus, dass auch PostgreSQL ein Datum als 'YYYY-MM-DD' abspeichert.
Normalerweise sind die SQL-Dialekte recht robust, was Vergleiche angeht, so hat MySQL kein Problem mit beiden Abfragen:
Code: Alles auswählen
SELECT * FROM table WHERE numfield = 1
SELECT * FROM table WHERE numfield = '1'
Im Zweifel einfach die SQL-Eingabe aufrufen und ausprobieren.
Gruss,
Georg
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 9:53
von Tom
Ich übergebe bisher nur an PostGre, da klappt es problemlos mit DtoS().
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 10:13
von UliTs
Tom hat geschrieben:Ich übergebe bisher nur an PostGre, da klappt es problemlos mit DtoS().
Hallo Tom,
meinst Du, dass PostGre die Funktion DtoS() auswertet?
Oder bildest Du einen String, bei dem Du zur Bildung DtoS() verwendest?
Uli
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 10:17
von Tom
Letzteres.
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 10:31
von UliTs
Tom hat geschrieben:Letzteres.
Und das funktioniert ohne Hochkommata's im String?
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 12:00
von Tom
Hallo, Ulli.
Das entsprechende Feld ist als "timestamp" angelegt, die Übergabe erfolgt per DtoS in Anführungszeichen oder als NULL (ohne Anführungszeichen), wenn es leer ist.
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 12:32
von UliTs
Dann bin ich ja beruhigt
. Aber schon praktisch, wenn man auf die Bindestriche verzichten kann
Uli
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 21:36
von AUGE_OHR
hi,
danke für euer Antworten.
ich hatte es mir schon gedacht das ich mein Modul anpassen muss was für ein Codeblock gedacht ist.
ok, also keine Function "im" String wie DTOC() und ".AND." ohne die "." (Punkt)
Frage : wie ist es bei Type "L" in PostgreSQL ?
Re: PostgreSQL Datum bei WHERE
Verfasst: Mi, 27. Jun 2012 22:56
von UliTs
TRUE, FALSE und NULL
Vorsicht, manche Dialekte sind so blöd, dass man explizit
schreiben muss, statt einfach nur
bei einem logischen Feld namens Aktiv!
Uli
P.S.
Hat Aktiv den Wert NULL, hat sowohl
als auch
das Ergebnis FALSE !
Re: PostgreSQL Datum bei WHERE
Verfasst: Fr, 29. Jun 2012 1:52
von AUGE_OHR
danke für eure Antworten. so langsam bekomme ich das in Griff ...
nun muss ich "nur" noch die Konstanten
http://doxygen.postgresql.org/include_2 ... pe_8h.html durchforsten welche "Type" ich wie Xbase++ "zuordne"