在oracle PL / SQL中更新语句,将值更新为null

时间:2016-06-04 19:14:13

标签: mysql

export LC_CTYPE="en_US.UTF-8" 

内部SQ1查询正在将所有满足的值更新到FD表的列F_distance但是子查询不匹配的情况是将FD表F_Distance值更新为null。我不想将值更新为null。 请建议做什么。

1 个答案:

答案 0 :(得分:0)

在ORACLE中,您可以使用NVL

UPDATE FD DCS
SET DCS.F_DISTANCE = NVL(
  (SELECT FD.F_DISTANCE
  FROM TMP FD
  WHERE FD.DATE_SID = DCS.DATE_SID
  AND FD.SID = DCS.SID
  AND FD.DA_SID = DCS.DASID
  AND FD.AA_SID = DCS.AA
  AND FD.F_DISTANCE IS NOT NULL
  ), DCS.F_DISTANCE)
WHERE DCS.BATCH_ID=BATCH_ID;

在这种情况下,如果结果为null,则NVL返回0(你用你喜欢的值改变cna)