sql >> Base de Datos >  >> RDS >> Mysql

Código de error 1292 Mysql DateTime

Mira el valor:

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

Eso es intentar usar un mes de 31.

No está claro si eso solo significa que sus datos de prueba son incorrectos o si necesita cambiar estas líneas:

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

a:

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

Tenga en cuenta el cambio de 1 a 2 para la subcadena que comienza en 1 de todos modos, y el cambio de la segunda posición inicial de 3 a 4. Desea valores de mes y día de dos dígitos, ¿verdad? Si su formato de datos es realmente D/M/YYYY (es decir, solo usando dos dígitos cuando son necesarios), entonces no podrá usar posiciones de subcadenas fijas.