我的项目使用两个不同的数据库, Oracle 和 Apache Derby,并且正在尝试尽可能使用这两个数据库都支持的 ANSI SQL 语法。
我有一个表格,其中有一列amount_paid NUMERIC(26,2)
。
我的旧代码使用 Oracle 数据库,需要检索这种格式的值
SELECT LTRIM(TO_CHAR(amount_paid,'9,999,999,999,999.99'))
如何使用 ANSI SQL 语法将数值转换为“9,999,999,999,999.99”格式的字符串?
最佳答案
我认为这是错误的做法。格式掩码用于显示目的,因此它确实应该是表示层关注的问题。您的数据访问层应该做的只是执行:
select amount_paid
from your_table
where ....
此语法显然适用于您的应用附加到的任何数据库。
然后将格式化代码放在前端,它所属的位置。
关于oracle - 使用 ansi sql 语法格式化数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3007730/