我希望编写一个查询,它将在列中用“ - ”替换值00。 仅当值为0.00时才应替换该值,而不是230.00
我做了这个查询replace(SUBSTRING(cast(columname AS varchar(7)),0,7),'0.00','-')
但它取代230.00为23 -
请帮忙
答案 0 :(得分:2)
假设表格格式如下:
`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
-
答案 1 :(得分:0)
使用:
if (SUBSTRING(cast(columname AS varchar(7)),0,7) = '0.00', '-', SUBSTRING(cast(columname AS varchar(7)),0,7))
答案 2 :(得分:0)
CASE WHEN'列名= 0 THEN'0.00'ELSE replace(SUBSTRING(cast(columnname AS varchar(7)),0,7),'0.00',' - ')END