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

ROWIDTONCHAR () Oracle में फ़ंक्शन

Oracle डाटाबेस में, ROWIDTONCHAR() फ़ंक्शन एक ROWID को रूपांतरित करता है NVARCHAR2 . का मान डेटा प्रकार

यह ROWIDTOCHAR() . के समान है फ़ंक्शन, सिवाय इसके कि ROWIDTOCHAR() एक ROWID . को रूपांतरित करता है VARCHAR2 . का मान डेटा प्रकार।

सिंटैक्स

वाक्य रचना इस प्रकार है:

ROWIDTONCHAR(rowid)

उदाहरण

यहां एक उदाहरण दिया गया है:

SELECT ROWIDTONCHAR('AAATiBAAMAAAAIDAAE')
FROM DUAL;

परिणाम:

AAATiBAAMAAAAIDAAE

रूपांतरण का परिणाम हमेशा राष्ट्रीय वर्ण सेट में होता है और यह 18 वर्णों का होता है।

और यहां CHARTOROWID() . की तुलना में परिणाम का एक डंप है फ़ंक्शन (जो ROWID लौटाता है) चरित्र डेटा से मूल्य):

SELECT 
    DUMP(CHARTOROWID('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "CHARTOROWID",
    DUMP(ROWIDTONCHAR('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "ROWIDTONCHAR"
FROM DUAL;

परिणाम:

                 CHARTOROWID               ROWIDTONCHAR 
____________________________ __________________________ 
Typ=69 Len=10: ^@,^A,8,81    Typ=1 Len=36: ^@,A,^@,A   

69 . की एक प्रकार की आईडी इसका मतलब है कि यह ROWID का है डेटा प्रकार, और एक प्रकार की आईडी 1 इसका मतलब है कि यह या तो VARCHAR2 है या NVARCHARCHAR2

एक डेटाबेस उदाहरण

यहां एक उदाहरण दिया गया है जो किसी दिए गए ROWID . के आधार पर डेटाबेस तालिका में एक पंक्ति देता है :

SELECT 
    ROWID,
    FIRST_NAME,
    LAST_NAME
FROM EMPLOYEES
WHERE ROWIDTONCHAR(ROWID) LIKE '%KzABa';

परिणाम:

                ROWID    FIRST_NAME    LAST_NAME 
_____________________ _____________ ____________ 
AAATiDAAMAAALKzABa    Timothy       Gates       

शून्य तर्क

यदि तर्क null है , परिणाम null . है :

SET NULL 'null';
SELECT ROWIDTONCHAR(null)
FROM DUAL;

परिणाम:

null

डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus SQL SELECT के परिणामस्वरूप जब भी कोई रिक्त मान उत्पन्न होता है, तो एक रिक्त स्थान लौटाते हैं बयान।

हालांकि, आप SET NULL का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null लौटाया जाना चाहिए।

अवैध तर्क गणना

कॉलिंग ROWIDTONCHAR() बिना किसी तर्क के त्रुटि उत्पन्न होती है:

SELECT ROWIDTONCHAR()
FROM DUAL;

परिणाम:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

और बहुत अधिक तर्क पारित करने से भी त्रुटि होती है:

SELECT ROWIDTONCHAR('a', 'b')
FROM DUAL;

परिणाम:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

  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. Oracle में एक तिथि से दिन प्राप्त करने के 2 तरीके

  3. मैं Oracle में अल्पविराम-सीमांकित सूची में एकाधिक पंक्तियों को कैसे जोड़ सकता हूँ?

  4. Oracle में CURRENT_DATE फ़ंक्शन

  5. Django ओरेकल डीबी सेटिंग्स