PostgreSQL Datum bei WHERE
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
PostgreSQL Datum bei WHERE
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 ? btw. in welchen Format bekommt man "Datum" von PostgreSQL ?
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 ? btw. in welchen Format bekommt man "Datum" von PostgreSQL ?
gruss by OHR
Jimmy
Jimmy
-
- 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
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.
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'
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
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2832
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 98 Mal
- Danksagung erhalten: 13 Mal
Re: PostgreSQL Datum bei WHERE
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:
Im Zweifel einfach die SQL-Eingabe aufrufen und ausprobieren.
Gruss,
Georg
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'
Gruss,
Georg
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: PostgreSQL Datum bei WHERE
Ich übergebe bisher nur an PostGre, da klappt es problemlos mit DtoS().
Herzlich,
Tom
Tom
-
- 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
Hallo Tom,Tom hat geschrieben:Ich übergebe bisher nur an PostGre, da klappt es problemlos mit DtoS().
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
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- 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
Und das funktioniert ohne Hochkommata's im String?Tom hat geschrieben:Letzteres.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: PostgreSQL Datum bei WHERE
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.
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
Tom
-
- 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
Dann bin ich ja beruhigt . Aber schon praktisch, wenn man auf die Bindestriche verzichten kann
Uli
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: PostgreSQL Datum bei WHERE
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 ?
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
Jimmy
-
- 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
TRUE, FALSE und NULL
Vorsicht, manche Dialekte sind so blöd, dass man explizitschreiben muss, statt einfach nur
bei einem logischen Feld namens Aktiv!
Uli
P.S.
Hat Aktiv den Wert NULL, hat sowohlals auch
das Ergebnis FALSE !
Vorsicht, manche Dialekte sind so blöd, dass man explizit
Code: Alles auswählen
Aktiv=TRUE
Code: Alles auswählen
Aktiv
Uli
P.S.
Hat Aktiv den Wert NULL, hat sowohl
Code: Alles auswählen
Aktiv=TRUE
Code: Alles auswählen
Aktiv=FALSE
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: PostgreSQL Datum bei WHERE
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"
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
Jimmy