替换子字符串的SQL查询

替换子字符串的SQL查询,sql,replace,substring,Sql,Replace,Substring,我希望编写一个查询,将列中的值0.00替换为“-”。 仅当值为0.00时,才应替换该值,如果值为230.00,则不应替换该值 我做了这个查询replace(子字符串(cast(列名为varchar(7)),0,7),'0.00','-') 但它将230.00替换为23- 请帮助使用: if (SUBSTRING(cast(columname AS varchar(7)),0,7) = '0.00', '-', SUBSTRING(cast(columname AS varchar(7)),0,7

我希望编写一个查询,将列中的值0.00替换为“-”。 仅当值为0.00时,才应替换该值,如果值为230.00,则不应替换该值

我做了这个查询
replace(子字符串(cast(列名为varchar(7)),0,7),'0.00','-')
但它将230.00替换为23-

请帮助使用:

if (SUBSTRING(cast(columname AS varchar(7)),0,7) = '0.00', '-', SUBSTRING(cast(columname AS varchar(7)),0,7))

如果ColumnName=0,则“0.00”ELSE替换(子字符串(cast(ColumnName为varchar(7)),0,7),“0.00”和“-”)结束

`id` | `cost`
 1   | 230.00
 2   | 543.65
 3   | 0.00
然后是对

SELECT CASE WHEN cost=0 THEN '-' ELSE cost END FROM table;
会回来的

230.00
543.65
-