我有一个表,我想替换值为零的所有实例。但是,我正在运行的代码也替换了其中包含零的值,例如403 & 4004。它将被替换为43 & 44。有没有一种只替换零值的方法?
这是我的桌子:
id | value
1, 0
2, 0
3, 4004
4, 404这里是我希望输出的样子:
id | value
1, -
2, -
3, 4004
4, 404这里是我的代码:
select replace(value, '0', '-') as new_value from table1;我的输出是这样的,这不是我想要的:
id | value
1, -
2, -
3, 4--4
4, 4-4有什么建议吗?
发布于 2021-05-04 18:59:48
使用case表达式:
select t.*,
(case when value = '0' then '-' else value end)
from t;这假设value是一个字符串。如果没有,则需要将其转换为:
select t.*,
(case when value = '0' then '-' else cast(value as varchar2(255)) end)
from t;发布于 2021-05-04 19:32:32
https://stackoverflow.com/questions/67390615
复制相似问题