如何将0.00值替换为' - ' sql server requery中的字符

时间:2014-08-06 08:21:34

标签: sql sql-server

我在下面有一个视图

Name    Ammount

Ivan     200.91
Ronnie     0.00
Ian       219.76
Kent       90.00
kelty       0.00

我想用字符' _'替换0.00但请记住,有90.00不应该被替换

我可以使用的选择SQL服务器查询是什么?

3 个答案:

答案 0 :(得分:0)

使用此

SELECT  Name,
        CASE CAST(Amount AS VARCHAR(10))
            WHEN '0.00' THEN '_'
            ELSE CAST(Amount AS VARCHAR(10))
        END AS Amount 
FROM Table

小提琴:http://sqlfiddle.com/#!3/88abc/1

答案 1 :(得分:0)

Update table
Set Amount = '_'
where amount = '0.00'

Select case when amount not like '%0.00%' then replace(Amount,'0.00','_') else amount end
from table

答案 2 :(得分:0)

在阅读OP的许多其他评论之后,我假设Amount的数据类型是varchar或类似的。

如果是这种情况,那么这样的事情就可以完成这项任务:

declare @table table(Name varchar(20), Amount varchar(10))
insert into @table values ('Ivan', '200.91'),('Ronnie', '0.00'),('Ian', '219.76'),('Kent', '90.00'),('kelty', '0.00')

select Name, CASE WHEN Amount = '0.00' THEN '_' ELSE Amount END as Amount from @table

返回:

Name                 Amount
-------------------- ----------
Ivan                 200.91
Ronnie               _
Ian                  219.76
Kent                 90.00
kelty                _