SQL: alle Einträge zwischen zwei Date Formaten anzeigen?
Markus Breitenbacher
- datenbank
0 Hamster0 Hans0 wahsaga1 Sven Rautenberg
Hallo,
ich möchte mir alle Einträge eines bestimmten Tages in einer DB anzeigen lassen, das Datumsformat ist hierbei z.B.: "2006-10-14 23:59:59"
Mit LIKE oder BETWEEN hab ich es nicht hinbekommen. Ich möchte etwas machen wie
SELECT * FROM table
WHERE "create" BETWEEN "2006-10-10 00:00:00" AND "2006-10-10 23:59:59"
Für jede Hilfe dankbar,
Mark
SELECT
*
FROM
table
WHERE
(create BETWEEN "2006-10-10 00:00:00" AND "2006-10-10 23:59:59")
Müsste m.E. aber funzen, wenn "create" einen richtig interpretierten Datentyp aufweist. Hilft sowas:
http://dev.mysql.com/doc/refman/5.1/de/date-and-time-functions.html
Zudem gibts natürlich das "doofe" workaround:
WHERE
(create >= "2006-10-10 00:00:00") AND
(create <= "2006-10-10 23:59:59")
Vielen Dank allen Helfern,
letztendlich war das Problem, was ich hatte und deren Lösung ich hier gefunden habe die Benutzung des Backticks.
Dies ist der Query in der fertigen Version:
SELECT * FROM table
WHERE (create
LIKE "2006-10-10%") ORDER BY create
DESC
Danke,
Mark
Hi Mark,
SELECT * FROM
table
WHERE "create" BETWEEN "2006-10-10 00:00:00" AND "2006-10-10 23:59:59"Für jede Hilfe dankbar,
OK:
execute immediate 'select * from '||table||' where '||create||' between to_date(''2006-10-10 00:00:00'',''YYYY-MM-DD HH24:MI:SS'') and to_date(''2006-10-10 23:59:59'',''YYYY-MM-DD HH24:MI:SS'')';
Gruß
Hans
hi,
ich möchte mir alle Einträge eines bestimmten Tages in einer DB anzeigen lassen, das Datumsformat ist hierbei z.B.: "2006-10-14 23:59:59"
Wenn du uns dann noch mitteilen möchtest, welches DBMS du verwendest?
Bei MySQL könntest du auch einfach abfragen, ob das Datum mit ""2006-10-14" beginnt. Und die Datumsfunktionen gibt es auch noch ...
gruß,
wahsaga
Moin!
Mit LIKE oder BETWEEN hab ich es nicht hinbekommen. Ich möchte etwas machen wie
SELECT * FROM
table
WHERE "create" BETWEEN "2006-10-10 00:00:00" AND "2006-10-10 23:59:59"
Faustregeln:
1. Feste Werte (Strings, Zahlen, Daten) im SQL-Statement gehören in einfache Anführungsstriche: 'string', '12345', '2006-10-10 00:00:00'.
2. Feld-, Tabellen- oder Datenbankbezeichner, die mit reservierten Wörtern (existierenden SQL-Befehlen etc.) kollidieren, müssen in Backticks: tabelle
, feld
3. Feld-, Tabellen- oder Datenbankbezeichner, die nicht mit reservierten Wörtern kollidieren, können in Backticks, müssen aber nicht: tabelle, feld
4. Doppelte Anführungszeichen sind in SQL als Stringbegrenzer verboten!
Kriegst du es jetzt hin, dein Statement zu korrigieren?
- Sven Rautenberg