![](/img/trans.png)
[英]Is there a better way to work with SQLite3 “SELECT” query results in Python3?
[英]Python3 SQLite query
我在使用Python3 sqlite查詢時遇到問題。
這是我從sqlite3解釋器運行的以下查詢,它運行良好:
SELECT {some_columns} FROM {tableA} WHERE bus='ABCD' AND
datetime(date_column||" "||time_column) >= datetime('2019-03-19 05:30:00')
INTERSECT
SELECT {some_columns} FROM {tableA} WHERE bus='ABCD' AND
datetime(date_column||" "||time_column) <= datetime('2019-03-19 05:30:00', '+135 minutes');
但是,當我在Python中如下運行相同的查詢時,它總是返回None
cur.execute('''SELECT colA FROM tableA WHERE bus='ABCD' AND
datetime(date_column||" "||time_column) >= dateteime(?)
INTERSECT
SELECT colA FROM tableA WHERE bus='ABCD' AND
datetime(date_column||" "||time_column) <= dateteime(?)''', (
bus,
dt.strftime('%Y-%m-%d %H:%M:%S'),
"'%s', '+%s minutes'" % (lookup_time.strftime("%Y-%m-%d %H:%M:%S"),
duration)
)).fetchall()
任何幫助或想法,將不勝感激。 SQlite表中已正確定義了“公共汽車”和日期/時間列。
解決了!
我改用datetime模塊。 我最后的python代碼是:
lookup_end_time = lookup_time + datetime.timedelta(minutes=135)
...代碼在這里修剪...
cur.execute('''SELECT colA FROM tableA WHERE bus='ABCD' AND
datetime(date_column||" "||time_column) >= dateteime(?)
INTERSECT
SELECT colA FROM tableA WHERE bus='ABCD' AND
datetime(date_column||" "||time_column) <= dateteime(?)''', (
bus,
dt.strftime('%Y-%m-%d %H:%M:%S'),
lookup_end_time
)).fetchall()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.