2

私は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いませんが、これは適切なオプションではないと考えています。

ありがとうございました

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 に答える