Python 使用SQLite查询日期时发生ValueError
一个简单的例子:Python 使用SQLite查询日期时发生ValueError,python,sqlite,Python,Sqlite,一个简单的例子: import sqlite3, datetime, csv import pandas.io.sql as sql from dateutil.parser import parse my_db = 'test_db.db' connection=sqlite3.connect(my_db,detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES) cursor = connection.cursor() cu
import sqlite3, datetime, csv
import pandas.io.sql as sql
from dateutil.parser import parse
my_db = 'test_db.db'
connection=sqlite3.connect(my_db,detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES)
cursor = connection.cursor()
cursor.execute('''CREATE TABLE test_table (Id INTEGER PRIMARY KEY, Date DATE);''')
date_str = '1/1/2011'
date_parsed = parse(date_str)
cursor.execute('INSERT into test_table (Id, Date) values(?,?)',(1,date_parsed))
cursor.execute('SELECT * FROM test_table')
收益率:
ValueError: invalid literal for int() with base 10: '01 00:00:00'
我只是想让SQL db以datetime格式返回我的日期,这样我就可以对它们执行过滤查询
我已经阅读了这篇相关文章以供参考:
在您的
创建表中
,您正在使用日期
CREATE TABLE test_table (Id INTEGER PRIMARY KEY, Date DATE)
问题是,它试图映射到您的格式不是的datetime.date
,如果您将格式更改为使用TIMESTAMP
,则它工作正常,并尝试将其设置为datetime.datetime
CREATE TABLE test_table (Id INTEGER PRIMARY KEY, Date TIMESTAMP)