如何在Oracle SQL Developer中基于其他列首字符创建二进制列
Oracle SQL 实现方案
方案1:查询时临时生成col2列
如果仅需要查询结果带col2,不需要修改原表结构,直接用CASE语句配合前缀匹配即可:
SELECT col1, CASE WHEN col1 LIKE 'M%' THEN 1 WHEN col1 LIKE 'R%' THEN 0 ELSE NULL END AS col2 FROM 你的表名;
方案2:给原表新增永久列col2
如果需要把col2永久存储到表中,分两步操作:
- 先给表新增数值类型的col2字段
ALTER TABLE 你的表名 ADD col2 NUMBER(1);
- 按规则更新col2的取值
UPDATE 你的表名 SET col2 = CASE WHEN col1 LIKE 'M%' THEN 1 WHEN col1 LIKE 'R%' THEN 0 ELSE NULL END; -- 执行后记得提交事务 COMMIT;
内容的提问来源于stack exchange,提问作者dingaro
相关产品推荐
相关产品推荐

