sql >> Database >  >> RDS >> Mysql

Foutcode 1292 Mysql DateTime

Kijk naar de waarde:

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

Dat is proberen een maand te gebruiken van 31.

Het is niet duidelijk of dit alleen betekent dat uw testgegevens onjuist zijn, of dat u deze regels moet wijzigen:

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

naar:

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

Let op de verandering van 1 naar 2 voor de substring die sowieso bij 1 begint, en de verandering van de tweede startpositie van 3 naar 4. Je wilt tweecijferige maand- en dagwaarden, toch? Als uw gegevensindeling eigenlijk is D/M/YYYY (d.w.z. alleen twee cijfers gebruiken als ze nodig zijn), dan kunt u geen vaste subtekenreeksposities gebruiken.



  1. Toegang tot dynamische kolomnaam van rijtype in triggerfunctie

  2. array of lijst in Oracle met behulp van cfprocparam

  3. MySql-bitkolommen geven een raar groot getal terug in PHP 7.1 (niet in eerdere versies)

  4. Python import MySQLdb-fout - Mac 10.6