sql - 如何在oracle SQL表中插入法国数字格式

标签 sql oracle

我面临在 oracle 的数字字段中插入法国数字的问题。我正在使用 SQL Developer IDE。当我插入数字(比如 3,4)时,它说无效数字。具体来说,

I don't want to replace the value 3,4 to 3.4.

我也尝试更改NLS 设置(使用命令

Alter session set NLS_NUMERIC_CHARACTERS=','; 

如果我使用此命令,我可以直接在编辑器中插入,但由于逗号,插入命令不起作用,Oracle 假定它是另一个值。

如有任何帮助,我们将不胜感激。

最佳答案

你不能也不需要。

SQL 文字 的数字格式需要 . 作为小数点分隔符。

在列本身中根本不存储小数点分隔符。你只需要改变数字的显示格式。这最好在您的应用程序中完成,而不是在 SQL 级别。但是,如果您在 SQL 输出中需要这样做,请使用 to_char() 来格式化您的数字:

select to_char(your_number_column, '9999D99')
from your_table;

格式掩码中的 D 将替换为当前 session 的 NLS 设置定义的小数点分隔符。

., 按字面返回:

select to_char(your_number_column, '9999,99')
from your_table;

可以在手册中找到有关 to_char() 格式掩码的更多详细信息:
https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements004.htm#BABIGFBA

关于sql - 如何在oracle SQL表中插入法国数字格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34526833/

相关文章:

sql - 在 SQL : add a column based on before or after date? 中

django - Django ORM 与 Oracle 的性能差

java - Oracle 10gR2中如何调用Java存储过程?

java - 有没有可能通过oracle获取警告消息的方法

mysql - MySQL 触发器中的持久/静态变量

php - MySQL 中名为 'like' 的表

php - 自动更新 Wordpress 帖子以生成 slug

sql - 查找 (x,y) 和 (y,x) 记录的最佳查询

sql - oracle sql中填写序号

sql - Oracle中如何替换字符串?