如何在Python中使用SQLite进行基于日期时间的查询?

时间:2012-02-28 06:04:19

标签: python sqlite

import sqlite3
import datetime

today = datetime.date.today()

db_name = "test.db"
db = sqlite3.connect(db_name, detect_types=sqlite3.PARSE_DECLTYPES)
c = db.cursor()
c.execute('create table changes (type string, file_name string, modified timestamp)')
c.execute('insert into changes values(?, ?, ?)', ('M', 'source/test-this.rst', datetime.datetime.now()))
db.commit()
last_run = datetime.datetime(2012, 2, 27, 23, 22, 21, 613477)
c.execute('''select modified from changes where modified > ?''', (last_run))
print c.fetchall()

我收到了这个错误...

$ python sqlite.py 
Traceback (most recent call last):
  File "sqlite.py", line 18, in <module>
    c.execute('''select modified from changes where modified > ?''', (last_run))
ValueError: parameters are of unsupported type

1 个答案:

答案 0 :(得分:4)

只需使用元组:

c.execute('''select modified from changes where modified > ?''', (last_run,))

这是一个常见的问题...