Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

to_number Oracle SQL . में संख्या स्वरूप पर गतिशील लंबाई

एकमात्र तरीका है, 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    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटा को एक टेबल से दूसरी टेबल में कॉपी करने के लिए संग्रहित प्रक्रिया

  2. क्या ऑरैकल में संग्रहित प्रक्रियाओं को निष्पादित करने के बाद कोई ऑटो कमिट होता है?

  3. Oracle SQL:एकाधिक स्तंभों के बीच नवीनतम तिथि के साथ एकल पंक्ति का चयन

  4. क्लॉब वेरिएबल लाइन को लाइन से पढ़ना

  5. Oracle डाटाबेस में अनुकूलक 19c