2

在以下查询中,我试图将十进制标记更改为comma

SELECT to_number('12.5678', '99D9999', NLS_NUMERIC_CHARACTERS =', ')  FROM dual;

当我在 sqlDeveloper 中执行此查询时,oracle 说缺少右括号。请注意,我有语言环境(DE,Gemany)。

可能是什么原因?

感谢您的任何建议

4

2 回答 2

5

在 SQL 中——与 PL/SQL 不同——第三个参数是一个字符串:

SELECT to_number('12.5678', '99D9999', 'NLS_NUMERIC_CHARACTERS ='', ''')
FROM dual;

另请参阅:
http ://docs.oracle.com/cd/B19306_01/server.102/b14200/functions191.htm

于 2012-10-10T10:51:21.940 回答
1

NLS_NUMERIC_CHARACTERS =', '应该作为 varchar 传递

select TO_NUMBER('$94 567,00', 'L999G999D00', 'NLS_NUMERIC_CHARACTERS ='', ''') FROM dual; 

http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions211.htm#SQLRF06140

于 2012-10-10T10:55:56.523 回答