Seite 1 von 1

MySQL und Datum

Verfasst: Fr, 19. Aug 2016 10:22
von Rudolf
Hallo,
habe ein Problem mit SQL Statements und Datum. Mit
DELETE FROM forms_in WHERE forms_in.date_read > {ts '16-08-2016 00:00:00'} and forms_in.date_read < {ts '20-08-2016 23:59:59'} AND forms_in.status='ok';
z.B. werde die Datensätze nicht berücksichtigt, gibt es eine ander Methode für ein Datumsfeld oder mache ich etwas falsch ?
Grüße
Rudolf

Re: MySQL und Datum

Verfasst: Fr, 19. Aug 2016 10:30
von brandelh
ich kenne das Datum nur im ISO Format JJJJ-MM-TT die Anzeige ist da eventuell lokalisiert ?

Re: MySQL und Datum

Verfasst: Fr, 19. Aug 2016 10:40
von brandelh
Hier aus der Hilfe, müsste auch für DELETE gelten:
Because MySQL performs the conversions just described, the following statements work (assume that idate is a DATE column):

SELECT idate FROM t1 WHERE idate >= '1997-05-05';
SELECT idate FROM t1 WHERE idate >= 19970505;
SELECT MOD(idate,100) FROM t1 WHERE idate >= 19970505;
SELECT idate FROM t1 WHERE idate >= '19970505';
oder das zu timestamp:
The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.

The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.

Re: MySQL und Datum

Verfasst: Fr, 19. Aug 2016 10:42
von Rudolf
Hallo Hubert,
habs auch mit
DELETE FROM forms_in WHERE forms_in.date_read > {ts '2016-08-15 00:00:00'} and forms_in.date_read < {ts '2016-08-20 23:59:59'} AND forms_in.status='ok';
versucht, geht auch nicht.
Grüße
Rudolf

Re: MySQL und Datum

Verfasst: Fr, 19. Aug 2016 10:53
von brandelh
Rudolf hat geschrieben:Hallo Hubert,
habs auch mit
DELETE FROM forms_in WHERE forms_in.date_read > {ts '2016-08-15 00:00:00'} and forms_in.date_read < {ts '2016-08-20 23:59:59'} AND forms_in.status='ok';
versucht, geht auch nicht.
Grüße
Rudolf
und mit

Code: Alles auswählen

DELETE FROM forms_in WHERE forms_in.date_read > '2016-08-15' and forms_in.date_read <= '2016-08-20' AND forms_in.status='ok';
eventuell ist auch der status nicht wie du ihn erwartest ...

ach und ist > '2016-08-15' oder >= '2016-08-15' ?

Re: MySQL und Datum

Verfasst: Fr, 19. Aug 2016 11:08
von georg
Hallo, Rudolf -


mich irritiert das

Code: Alles auswählen

 {ts 
in Deiner Anweisung. Wofür soll das gut sein? Es genügt, wenn Du das Datum in einfache Anführungsstriche setzt. Du sparst damit wenigstens einen Konversionsschritt.

http://dev.mysql.com/doc/refman/5.7/en/ ... erals.html

Dort wird (bei Verwendung des {ts) klar davon ausgegangen, dass das Datumsformat YMD (in verschiedenen Variationen) ist.