SQLite python如何在SELECT中添加多个过滤器
如何在sql SELECT中添加多个筛选器? 对于sql SELECT,我需要三个不同的过滤器/参数。 目前我有一个,看起来是这样的:SQLite python如何在SELECT中添加多个过滤器,python,sqlite,select,filter,Python,Sqlite,Select,Filter,如何在sql SELECT中添加多个筛选器? 对于sql SELECT,我需要三个不同的过滤器/参数。 目前我有一个,看起来是这样的: conn = sqlite3.connect(SerienPlaner) cur = conn.cursor() query = """SELECT %s FROM TVShowData WHERE julianday(_Starttime) + (_RunningTime / 24.0 / 60.0) > julian
conn = sqlite3.connect(SerienPlaner)
cur = conn.cursor()
query = """SELECT %s
FROM TVShowData
WHERE julianday(_Starttime) + (_RunningTime / 24.0 / 60.0) > julianday('now', 'localtime')
%s
ORDER BY _Starttime
LIMIT 15"""
if category == __LS__(30116):
filter = ""
parameters = ()
else:
filter = " AND WatchType = ?"
parameters = (category,)
query = query % (','.join(properties), filter)
cur.execute(query, parameters)
我想补充一点
if __series_in_db__:
filter = " AND inDB = ?"
parameters = (TRUE,)
else:
filter = ""
parameters = ()
及
\uu db\uuuuu中的系列和\uuuuuu firstaired\uuuuuu
是脚本中的GUI设置。。。
对于\uuuuu firstaired\uuuuuu
我想要一个fatchall,其中neuepisode=NEU或FREE-TV NEU…您只需将SQL/参数附加到前一个:
filter = ""
parameters = []
if ...:
filter += " AND xxx = ?"
parameters += [x]
if ...:
filter += " AND yyy = ?"
parameters += [y]
您只需将SQL/参数附加到上一个:
filter = ""
parameters = []
if ...:
filter += " AND xxx = ?"
parameters += [x]
if ...:
filter += " AND yyy = ?"
parameters += [y]
从代码维护的角度来看,在这里重新考虑您的方法。不需要有条件地创建SQL语句,只需基于if/then/else条件创建整个SQL字符串即可。@Parfait三个可选筛选器将导致八种情况。所有的参数都是值。从代码维护的角度来看,在这里重新考虑您的方法。不需要有条件地创建SQL语句,只需基于if/then/else条件创建整个SQL字符串即可。@Parfait三个可选筛选器将导致八种情况。所有的参数都是数值。