MYSQL now() -1 Tag
Magaziner
- datenbank
2 Tom
Hallo,
ich habe das Problem das ich von NOW() gerne 1 Tag abziehen möchte.
Sprich
VALUES (NOW()-DAY, ......)
Mache ich da irgendetwas in der Syntax direkt falsch?
Hello,
siehe z.B. http://dev.mysql.com/doc/refman/5.1/de/date-and-time-functions.html
date + INTERVAL expr type
date - INTERVAL expr type
INTERVAL expr type ist auf beiden Seiten des Operators + zulässig, wenn der Ausdruck auf der jeweils anderen Seite ein DATE- oder DATETIME-Wert ist. Beim Operator - ist INTERVAL expr type nur auf der rechten Seite der Gleichung zulässig, da das Abziehen eines DATE- oder DATETIME-Werts von einem Intervall unsinnig wäre.
mysql> SELECT '1997-12-31 23:59:59' + INTERVAL 1 SECOND;
-> '1998-01-01 00:00:00'
mysql> SELECT INTERVAL 1 DAY + '1997-12-31';
-> '1998-01-01'
mysql> SELECT '1998-01-01' - INTERVAL 1 SECOND;
-> '1997-12-31 23:59:59'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL 1 SECOND);
-> '1998-01-01 00:00:00'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL 1 DAY);
-> '1998-01-01 23:59:59'
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL '1:1' MINUTE_SECOND);
-> '1998-01-01 00:01:00'
mysql> SELECT DATE_SUB('1998-01-01 00:00:00',
-> INTERVAL '1 1:1:1' DAY_SECOND);
-> '1997-12-30 22:58:59'
mysql> SELECT DATE_ADD('1998-01-01 00:00:00',
-> INTERVAL '-1 10' DAY_HOUR);
-> '1997-12-30 14:00:00'
mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
-> '1997-12-02'
mysql> SELECT DATE_ADD('1992-12-31 23:59:59.000002',
-> INTERVAL '1.999999' SECOND_MICROSECOND);
-> '1993-01-01 00:00:01.000001'
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Dank hat funktioniert