Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehlercode 1292 MySQL DateTime

Sehen Sie sich den Wert an:

'2013-31-01 16:00:40'

Das versucht, einen Monat zu verwenden vom 31.

Es ist nicht klar, ob das nur bedeutet, dass Ihre Testdaten falsch sind, oder ob Sie diese Zeilen ändern müssen:

SELECT SUBSTRING(DATE,3,2) FROM db.test_table INTO LMONTH;
SELECT SUBSTRING(DATE,1,1) FROM db.test_table INTO LDAY;

zu:

SELECT SUBSTRING(DATE,1,2) FROM db.test_table INTO LMONTH;
SELECT SUBSTRING(DATE,4,2) FROM db.test_table INTO LDAY;

Beachten Sie die Änderung von 1 auf 2 für den Teilstring, der sowieso bei 1 beginnt, und die Änderung der zweiten Startposition von 3 auf 4. Sie wollen zweistellige Monats- und Tageswerte, richtig? Wenn Ihr Datenformat eigentlich ist D/M/YYYY (d. h. wenn Sie nur zwei Ziffern verwenden, wenn sie erforderlich sind), können Sie keine festen Teilstringpositionen verwenden.