有沒有簡單和乾淨的解決方案有兩個不同的格式不同的數字。
例如0.00應該是0,所有其他數字應該是x.xxx。兩種不同的格式爲不同的數字
我到目前爲止的解決方案:
select decode(to_char(0.000, '90D999'),'0.000', 0, (to_char (0.000, '99990D99999'))) from dual
我不開心,因爲我覺得還有一個更簡單的解決方案。
有沒有簡單和乾淨的解決方案有兩個不同的格式不同的數字。
例如0.00應該是0,所有其他數字應該是x.xxx。兩種不同的格式爲不同的數字
我到目前爲止的解決方案:
select decode(to_char(0.000, '90D999'),'0.000', 0, (to_char (0.000, '99990D99999'))) from dual
我不開心,因爲我覺得還有一個更簡單的解決方案。
你也可以使用CASE-WHEN ...
SELECT (CASE WHEN MY_VALUE=0 THEN '0' ELSE to_char(MY_VALUE, '90D999') END)
FROM DUAL
這是我想多一點可讀 - 不過這是主觀的...
您可以使用簡單的病例表達它弄得有一點清潔劑:
select case my_value when 0 then '0' else to_char(my_value, '90D999') end
from dual;
見http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm
我不是張貼此確切液10分鐘前? (好吧,用一些不同的語法) – ppeterka