首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle /SQL中的Update语句将值更新为null

oracle /SQL中的Update语句将值更新为null
EN

Stack Overflow用户
提问于 2016-06-04 19:14:13
回答 1查看 739关注 0票数 1
代码语言:javascript
复制
UPDATE FD DCS
  SET DCS.F_DISTANCE =
    (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
    )
WHERE DCS.BATCH_ID=BATCH_ID;

内部SQl查询正在将所有满意的值更新到FD表的列F_distance,但是子查询不匹配的地方是将FD表的F_Distance值更新为null。我不想将值更新为null。请建议一下该怎么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-04 19:17:38

在ORACLE中,您可以使用NVL

代码语言:javascript
复制
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随您喜欢的值更改)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37634070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档