एकमात्र तरीका है, nls_numeric_characters
. के लिए उचित मान सेट करना पैरामीटर सत्र चौड़ा और to_number()
. का उपयोग करें एक प्रारूप मुखौटा निर्दिष्ट किए बिना कार्य।
यहाँ एक सरल उदाहरण दिया गया है। दशमलव विभाजक वर्ण अल्पविराम है ","
और संख्यात्मक अक्षर में अवधि "."
. होती है दशमलव विभाजक वर्ण के रूप में:
SQL> show parameter nls_numeric_characters;
NAME TYPE VALUE
------------------------------------ ----------- ------
nls_numeric_characters string ,.
SQL> with t1(col) as(
2 select '12345.567' from dual union all
3 select '12.45' from dual
4 )
5 select to_number(col) as res
6 from t1;
select to_number(col)
*
ERROR at line 5:
ORA-01722: invalid number
SQL> alter session set nls_numeric_characters='.,';
Session altered.
SQL> with t1(col) as(
2 select '12345.567' from dual union all
3 select '12.45' from dual
4 )
5 select to_number(col) as res
6 from t1;
res
--------------
12345.567
12.45