2017-02-10 38 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))