我面临在 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/