是否可以从小数中指定ABS函数中的比例?
= ABS(([Accounting].salary+ABS([Accounting].expenses))/2)
截至目前,一切正常但数字在小数点后只有1位数时结果有问题:
100.12 - All ok
230.1 - Not ok, it should be 230.10
我希望结果在小数点后总是有两个数字。
查询必须同时适用于MS SQL Server和Oracle。我可以手动为每个数据库指定查询。
答案 0 :(得分:0)
只需更改代码:
= ABS(([Accounting].salary+ABS([Accounting].expenses))/2)
通过以下方式:
= CAST(ABS(([Accounting].salary+ABS([Accounting].expenses))/2) AS DECIMAL(18 /*set your format here instead of 18*/,2))
我刚用代码检查过它:
SELECT CAST(230.1 AS DECIMAL(18 /*set your format here instead of 18*/, 2))
一切正常
实际上,这只是用户在UI中表示您的号码的问题。您可以使用指定格式的to_char()将数字转换为字符串。但最好在前端定义输出格式
答案 1 :(得分:0)
对我来说,这是一个用户界面问题,而不是SQL问题。
230.1 - Not ok, it should be 230.10
说真的,这两个数字都是一样的。
在Oracle中,您可以将数字转换为字符串,以便将其呈现给最终用户。
select to_char(234.1,'$9,999.99') from dual
$234.10
查看Oracle文档中的格式模型。
http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm