Module sqlite3 hỗ trợ date tự động. Insert date object trực tiếp, Python handle conversion.
Ví dụ Insert
import sqlite3
import datetime
conn = sqlite3.connect(":memory:", detect_types=sqlite3.PARSE_DECLTYPES)
conn.execute('''CREATE TABLE TEST (ID TEXT PRIMARY KEY NOT NULL, DATE DATE)''')
conn.commit()
# Insert date object trực tiếp
conn.execute("INSERT INTO TEST (ID, DATE) VALUES (?, ?)", ('My date', datetime.date(2018, 1, 4)))
conn.commit()
print("Record inserted")
Kết quả
Record inserted
Ví dụ Retrieve
cursor = conn.execute("SELECT ID, DATE FROM TEST")
for row in cursor:
print(row)
Kết quả
('My date', datetime.date(2018, 1, 4))
Quan trọng: Kết nối với detect_types=sqlite3.PARSE_DECLTYPES để SQLite tự parse DATE/TIMESTAMP column thành Python date/datetime object.