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

部分[0]〜部分[3]にNULL(型付き)値が含まれている可能性があります。SqlDeveloper - IS NULL句なしでNULL値をチェック - スクリプトクエリで

しかし、Oracleは受け付けていませんwhere句のように:

WHERE

間違った "COL1" = NULL "COL1" NULL IS

RIGHT

方法"col = NULL"の代わりにスクリプトクエリに "IS NULL" stmtを入れますか? nullがあなたのクエリに使用することができます等しいヌル ないOracleでは

答えて

3

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

または

... and (col1=:a or (col1 is null and :a is null)) 
関連する問題