oracle - 使用 ansi sql 语法格式化数字

标签 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'))

如何使用 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/

相关文章:

sql - 如何查找未记录的日期

mysql - 从 Oracle 导出到 SQL Server 或 mySQL

c - 打印列表时省略最后一个逗号

java derby restoreFrom 什么都不做

Java:结果集更新不更新数据库

derby - Apache DerbyDB日志,如何读取事务日志

oracle - ORA-04061 : existing state of package body "PACKAGE.NAME" has been invalidated persists

SQL查询内部连接表中的不同记录

java - Eclipse 格式化程序设置

wpf - 如何在 WPF GridView 中使用 ColumnSpans 创建多个标题?