Mysql
 sql >> Database >  >> RDS >> Mysql

Codice di errore 1292 Mysql DateTime

Guarda il valore:

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

Questo sta cercando di utilizzare un mese di 31.

Non è chiaro se ciò significhi semplicemente che i dati del test sono errati o se è necessario modificare queste righe:

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;

Nota la modifica da 1 a 2 per la sottostringa che inizia comunque da 1 e la modifica della seconda posizione iniziale da 3 a 4. Vuoi valori di mese e giorno a due cifre, giusto? Se il formato dei dati è effettivamente G/M/AAAA (ovvero utilizzando solo due cifre quando sono richieste), non potrai utilizzare posizioni di sottostringa fisse.