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

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

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

सिंटैक्स

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

ROWIDTOCHAR(rowid)

उदाहरण

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

SELECT ROWIDTOCHAR('AAATiBAAMAAAAIDAAE')
FROM DUAL;

परिणाम:

AAATiBAAMAAAAIDAAE

रूपांतरण का परिणाम हमेशा 18 वर्णों का होता है।

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

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

परिणाम:

                 CHARTOROWID              ROWIDTOCHAR 
____________________________ ________________________ 
Typ=69 Len=10: ^@,^A,8,81    Typ=1 Len=18: A,A,A,T   

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

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

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

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

परिणाम:

                ROWID    FIRST_NAME    LAST_NAME 
_____________________ _____________ ____________ 
AAATiDAAMAAALKzABa    Timothy       Gates       

शून्य तर्क

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

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

परिणाम:

null

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

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

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

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

SELECT ROWIDTOCHAR()
FROM DUAL;

परिणाम:

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

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

SELECT ROWIDTOCHAR('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. जावा में Oracle नेस्टेड तालिका में सम्मिलित करना

  2. Oracle ट्रिगर त्रुटि ORA-04091

  3. प्रक्रिया में तालिका बनाएं

  4. एसक्लप्लस कैसे कनेक्ट नहीं हो रहा है?

  5. पीएल/एसक्यूएल में अल्पविराम से अलग स्ट्रिंग को सरणी में कनवर्ट करें