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.