python - SQL either of two values in a list -
so have list of values , want retrieve entries after date long either of 2 items can found in list of values -
i tried this:
"select * table (date > ?) , (item1 or item2 in (%s))" %(date, qforeach(len(my_list))) def qforeach(list_length): s = "?" in range((list_length - 1)): s += ",?" homecoming s cursor.execute(statement, bindings) but apparently sql thinks i'm asking item1 or item2 , whether 1 of them in list. i've tried number of other obvious variations none of seem desired result.
you have check 2 items separately.
and have ensure parameters (?) passed sec argument of execute:
params = ",".join(["?" in range(len(my_list))]) statement = """select * mytable date > ? , (item1 in (%s) or item2 in (%s))""" % (params, params) bindings = [my_date] + my_list + my_list cursor.execute(statement, bindings) you avoid duplicating binding values using numbered parameters:
class="lang-py prettyprint-override">params = ",".join(["?"+str(i+2) in range(len(my_list))]) statement = """select * mytable date > ? , (item1 in (%s) or item2 in (%s))""" % (params, params) bindings = [my_date] + my_list cursor.execute(statement, bindings) python sql sqlite sqlite3
No comments:
Post a Comment