2

我是 SQL 新手,遇到以下问题:

我在一个名为性能的表中有以下列:

numbers
-------
13.80
4.9
32.1
0.00
12
0.00

我想选择这个表,但是0.00的地方,我想返回-。所以选择后应该是:

numbers
-------
13.80
4.9
32.1
-
12
-

我尝试使用如下案例:

select
    numbers, 
    case numbers
        when 0.00 then '-' 
    end as numbers
from 
    Performance

我知道这是不正确的,另一个工作中的扳手是数字列数据类型是decimal(18, 2)

有人可以帮我做这个选择吗?就像我提到的,我还是 SQL 的新手,但我认为CASE这不是正确的选择。

谢谢你

4

1 回答 1

4

您需要将您的数字转换为varchar(19)(18 + 小数分隔符)。

select case numbers 
         when 0 
         then '-' 
         else cast(numbers as varchar(19)) 
       end as numbers
于 2012-12-10T08:03:47.223 回答