首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Alter Update语句

Alter Update语句
EN

Stack Overflow用户
提问于 2017-10-20 15:22:35
回答 2查看 60关注 0票数 0

如何修改这条update语句,以便在GENDERSPELLING表中找不到该值时,将GENDER设置为'U'?

代码语言:javascript
复制
UPDATE DWCUST DW
SET GENDER = (SELECT NEW_VALUE FROM GENDERSPELLING GS
              WHERE DW.GENDER = GS.INVALID_VALUE)
WHERE GENDER NOT IN ('M', 'F');
EN

回答 2

Stack Overflow用户

发布于 2017-10-20 15:29:00

我想这应该行得通。

代码语言:javascript
复制
UPDATE DWCUST DW
SET GENDER = (
    SELECT CASE WHEN MAX(NEW_VALUE) IS NULL 
           THEN 'U'
           ELSE MAX(NEW_VALUE)
           END
    FROM GENDERSPELLING GS
    WHERE DW.GENDER = GS.INVALID_VALUE
)
WHERE GENDER NOT IN ('M', 'F');
票数 0
EN

Stack Overflow用户

发布于 2017-10-20 15:55:46

您可以使用COALESCE (或Oracle的NVL)将NULL转换为'U'

代码语言:javascript
复制
update dwcust dw
set gender = 
  nvl((select new_value from genderspelling gs where dw.gender = gs.invalid_value), 'U')
where gender not in ('M', 'F');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46844184

复制
相关文章

相似问题

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