Sunday, 15 August 2010

python - SQL either of two values in a list -



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:

class="lang-py prettyprint-override">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