SQL查询替换子字符串

时间:2011-07-15 03:54:44

标签: sql replace substring

我希望编写一个查询,它将在列中用“ - ”替换值00。 仅当值为0.00时才应替换该值,而不是230.00

我做了这个查询replace(SUBSTRING(cast(columname AS varchar(7)),0,7),'0.00','-') 但它取代230.00为23 -

请帮忙

3 个答案:

答案 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