cha*_*ged 2 oracle formatting derby ansi-sql
我正在为我的项目Oracle和Apache Derby使用两个不同的数据库,并且尽可能地尝试使用两个数据库支持的ANSI SQL语法.
我有一个带有列的表 amount_paid NUMERIC(26,2).
我使用Oracle数据库的旧代码需要以此格式检索值
SELECT LTRIM(TO_CHAR(amount_paid,'9,999,999,999,999.99'))
Run Code Online (Sandbox Code Playgroud)
如何使用ANSI sql语法将数值转换为格式为'9,999,999,999,999.99'的字符串?
我认为这是错误的做法.格式掩码用于显示目的,因此它应该是表示层的关注点.您的所有数据访问层应该只执行:
select amount_paid
from your_table
where ....
Run Code Online (Sandbox Code Playgroud)
这种语法显然适用于您的应用程序附加到的任何数据库.
然后将格式代码放在它所属的前端.