Suppose I have a simple query in sqlite3 in a function:

    def lookupxy(x, y):
        conn.execute("SELECT * FROM table WHERE COL1 = ? AND COL2 = ?",
                     (x, y))

However, COL2 might be NULL. I can't figure out a value for y that would 
retrieve rows for which COL2 is NULL. It seems to me that I have to perform an 
awkward test to determine whether to execute a query with one question mark or 
two.

    def lookupxy(x, y):
        if y:
            conn.execute("SELECT * FROM table WHERE COL1 = ? AND COL2 = ?",
                         (x, y))
        else:
            conn.execute("SELECT * FROM table WHERE COL1 = ? AND COL2 IS NULL",
                         (x,))

The more question marks involved the more complicated this would get, 
especially if question marks in the middle of several would sometimes need to 
be NULL. I hope I'm missing something and that someone can tell me what it is.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to