我在使用TO_NUMBER函数第二个和第三个参数时遇到问题.其中一个是否依赖另一个?nls_params参数如何工作?我无法理解查询的结果如何
SELECT TO_NUMBER('17.000,23',
'999G999D99',
'nls_numeric_characters='',.'' ')
REFORMATTED_NUMBER
FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
可以是17000.23.有人可以解释上述转换的过程.
PS上述查询来自Oracle数据库SQL专家证书准备手册.
你告诉TO_NUMBER函数,,.nls_numeric_characters中的两个字符代表十进制和千位分隔符
G (thousands seperator) = .
D (decimal seperator) = ,
Run Code Online (Sandbox Code Playgroud)
所以它看到这个数字是17000点二十三.
请参阅:http://download.oracle.com/docs/cd/B13789_01/olap.101/b10339/x_stddev022.htm#i78653