繁体   English   中英

使用SQL CASE语句,但返回相同的列值

[英]Using SQL CASE statement but returning same column values

我是SQL的新手,有以下问题:

我在名为Performances的表中有以下专栏:

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 ,但是我认为CASE不是这样做的正确选择。

谢谢

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

select case numbers 
         when 0 
         then '-' 
         else cast(numbers as varchar(19)) 
       end as numbers

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM