sql - 匹配条件时更改列值

标签 sql oracle

仅当其他条件匹配时,才需要替换列中的NULL值。

Columns: Parent, Child, flag01, lag02

父列具有许多NULL值,但是我只想在nullflag01为“ok”时替换flag02值。

如果flag01flag02均为“Ok”,并且Parent为NULL,则替换为“CT_00000”。否则,保留原始值(当NOT NULL时)。

最佳答案

因此,正如我认为的那样,您需要一个select语句。

select case when (parent is null and flag01 = 'OK' and flag02 = 'OK') 
       then 'CT_00000'
       else parent end as columnSomeName,
       Child, flag01, lag02
 from yourTable

关于sql - 匹配条件时更改列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21551920/

相关文章:

sql - 在SQL中对包含数字的字符串列进行排序?

Oracle - 如何导出安全策略

oracle - TNS :could not resolve the connect identifier specified

sql - Oracle SQL 组按 10 分钟时间间隔的行计数

sql - iphone sqlite3 数据库与服务器上的 sql server 2005 数据库之间的完全同步

mysql - 使用 mySQL 插入是否有可用房间

MySQL 从两个连接表中选择随机行

database - 使用虚拟列导出架构

sql - oracle的 'yy'和 'rr'日期掩码有什么区别?

sql - 适用于 S3 Select 的 AWS CLI