每当我想四舍五入到小数点后2位时,当它涉及到零时,它就不想四舍五入...。 我怎样才能把它四舍五入到小数点后2位,并在最后加上零,这将使我得到92.00而不是只有92?
SELECT ROUND(COLUMN_NAME,2) FROM ....
它给了我
COLUMN_NAME
92
但我想
COLUMN_NAME
92.00
我使用了TO_CHAR,它工作了
ROUND(TO_CHAR(COLUMN_NAME),2)
谢谢大家!
尽量避免在你的查询中进行格式化。你应该以原始格式返回你的数据,并让接收应用程序(如报告服务或最终用户应用程序)进行格式化,即四舍五入等。
在服务器上对数据进行格式化会使你更难(甚至不可能)进一步处理你的数据。你通常想导出表格或做一些聚合,如总和、平均等。由于数字以字符串(varchar)的形式到达,通常没有简单的方法来进一步处理它们。一些报告设计者甚至会拒绝提供汇总这些'数字的选项。
此外,最终用户将看到服务器的国家特定格式,而不是他自己的电脑。
另外,还要考虑四舍五入的问题。如果你在服务器中对数值进行四舍五入,然后仍然进行一些计算(假设客户端能够将数字串还原为数字),你最终会得到错误的结果。