When using the 'DATE' datatype in a sqlite3 db and type converters are enabled the function in sqlite3/dbapi2.py fails I'm not sure why sqlite3 returns something like 10-JAN-11, but the function expects a ts example: import sqlite3 d = sqlite3.connect(":memory:", detect_types=sqlite3.PARSE_DECLTYPES) c = d.cursor() c.execute("create table testdate (t1 date)") c.execute("insert into testdate values ('now')") c.execute("select * from testdate")
c.execute("insert into testdate values ('now')") This works, but you actually are putting string "now" into a field with DATE type. When conversion occurs after retrieving data, there is an error. Also if you use datetime() function c.execute("insert into testdate values (datetime())") you'll get an error later during conversion, because python expects date string and will get datetime string. This should work for you: >>> c.execute("insert into testdate values (date())") >>> x = c.execute("select * from testdate") >>> for a in x: ... print(a) ... (datetime.date(2011, 12, 10),)
I've made a simplified testcase, my problem is importing from a sql dump with dates in the format '10-OCT-11', so if I understand 'DATE' in sqlite is fake and really a string? I have no way to control this behavior if my dump is text?