Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 不同数字的两种不同格式_Sql_Formatting - Fatal编程技术网

Sql 不同数字的两种不同格式

Sql 不同数字的两种不同格式,sql,formatting,Sql,Formatting,对于不同的数字有两种不同的格式,有没有简单明了的解决方案。 例如,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_

对于不同的数字有两种不同的格式,有没有简单明了的解决方案。
例如,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;

我不是在10分钟前发布了这个精确的解决方案吗?(好的,语法有点不同)