INSERT基于另一个列值

时间:2015-02-26 17:21:03

标签: sql oracle insert

我想更新一列' XYZ_RCVD'到了' Y'如果行中有值,如果不是,我想更新列' XYZ_RCVD'到了' N'我开始使用这个简单的脚本,但是我必须为“N' N'案件。我如何将它们合并为一个?我尝试了一些IF-THEN-else但是这对INSERT语句来说效果不好。

这是我到目前为止所拥有的。

UPDATE TEST_SURVEY
      SET XYZ_RCVD = 'Y'
      WHERE XYZ_NAME IS NOT NULL;

UPDATE TEST_SURVEY
          SET XYZ_RCVD = 'N'
          WHERE XYZ_NAME IS NULL;

Habib下面的解决方案非常有效。

1 个答案:

答案 0 :(得分:2)

我相信您正在寻找CASE WHEN喜欢:

UPDATE TEST_SURVEY
SET XYZ_RCVD = CASE WHEN XYZ_NAME IS NOT NULL THEN 'Y' ELSE 'N' END;