2017-02-10 36 views
3
for circuit in allCircuit:     # a cvs of 4 columns 

    part = circuit.split(",") 

    res = cur.execute("""SELECT col4 from ATable WHERE 
    ("col1" = :a 
    AND "col2" = :b 
    AND "col3" = :c 
    AND "col4" = :d) 
    ORDER BY col4""",a = part[0], b= part[1], c = part[2], d = part[3]) 

part [0]到part [3]可能包含NULL(typed)值。SqlDeveloper - 在脚本查询中检查没有IS NULL子句的NULL值

但甲骨文不接受where子句,如:

WHERE “COL1”= NULL

WRONG

WHERE “COL1” IS NULL

RIGHT

如何是否将“IS NULL”stmt放入我的脚本查询中而不是“col = NULL”?

回答

3

在Oracle 空不等于空 您可以在查询中使用

... and decode(col1, :a, 1, 0)=1 

... and (col1=:a or (col1 is null and :a is null))