PostgreSQL Datum bei WHERE

Hier dreht es sich um den PostGre Server

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

PostgreSQL Datum bei WHERE

Beitrag 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
SQL_WHERE.PNG (27.02 KiB) 9730 mal betrachtet
btw. in welchen Format bekommt man "Datum" von PostgreSQL ?
gruss by OHR
Jimmy
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: PostgreSQL Datum bei WHERE

Beitrag von UliTs »

Das kommt auf die SQL-Umsetzung.
Es geht, wenn es die Funktion CtoD als Scalarfunktion gibt. :-)
Wenn Du stattdessen

Code: Alles auswählen

WHERE Test3 > '2012-05-05' AND Test3 < '2012-05-05'
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.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: PostgreSQL Datum bei WHERE

Beitrag 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
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PostgreSQL Datum bei WHERE

Beitrag von Tom »

Ich übergebe bisher nur an PostGre, da klappt es problemlos mit DtoS().
Herzlich,
Tom
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: PostgreSQL Datum bei WHERE

Beitrag 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
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PostgreSQL Datum bei WHERE

Beitrag von Tom »

Letzteres.
Herzlich,
Tom
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: PostgreSQL Datum bei WHERE

Beitrag von UliTs »

Tom hat geschrieben:Letzteres.
Und das funktioniert ohne Hochkommata's im String?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: PostgreSQL Datum bei WHERE

Beitrag 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.
Herzlich,
Tom
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: PostgreSQL Datum bei WHERE

Beitrag von UliTs »

Dann bin ich ja beruhigt :-) . Aber schon praktisch, wenn man auf die Bindestriche verzichten kann :D
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PostgreSQL Datum bei WHERE

Beitrag 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 ?
gruss by OHR
Jimmy
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: PostgreSQL Datum bei WHERE

Beitrag von UliTs »

TRUE, FALSE und NULL

Vorsicht, manche Dialekte sind so blöd, dass man explizit

Code: Alles auswählen

Aktiv=TRUE
schreiben muss, statt einfach nur

Code: Alles auswählen

Aktiv
bei einem logischen Feld namens Aktiv!

Uli

P.S.
Hat Aktiv den Wert NULL, hat sowohl

Code: Alles auswählen

Aktiv=TRUE
als auch

Code: Alles auswählen

Aktiv=FALSE
das Ergebnis FALSE !
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PostgreSQL Datum bei WHERE

Beitrag 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"
gruss by OHR
Jimmy
Antworten