我只想用 '' 替换特定列中的 '' 或 '0.00' 值,而不添加新列。我试图做如下但它不工作。
数据库列:
id rt1 rt2
x 0.345
y 0.00 0.345
预期结果:
id rt1 rt2 new column
x 0.345 0.345
y 0.00 0.345 0.345
根据对话,以下是我的预期结果。
id rt1 rt2 new column
'a' 0.345, null 0.345
'b' 0.00, 0.345 0.345
'c' 0.345, 0.445 more 0.00 values cant be in both columns
'd' 0.445, 0.345 more 0.00 values cant be in both columns
'e' 0.00, 0.00 null
'f' 0.00, null null
'g' null, 0.00 null
我的条件:如果 rt1 为 0.00 或 '',则 '' 否则 rt1。r2 相同,然后创建新列。
SELECT id,
CASE WHEN rt1 = '0.00' THEN '' ELSE rt1 END AS rt1,
CASE WHEN rt2 = '0.00' THEN '' ELSE rt2 END AS rt2,
Case when rt1 != '' then rt1 else rt2 end as new_rt_column
FROM tablename;