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

मारियाडीबी सबस्ट्र () समझाया गया

मारियाडीबी में, SUBSTR() SUBSTRING() . का पर्यायवाची है .

यह एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो किसी दिए गए स्ट्रिंग से एक सबस्ट्रिंग देता है।

इसके लिए कम से कम दो तर्कों की आवश्यकता है; स्ट्रिंग, और वह स्थिति जिसके लिए सबस्ट्रिंग को निकालना है। यह एक वैकल्पिक तीसरे तर्क को भी स्वीकार करता है जो आपको यह निर्दिष्ट करने की अनुमति देता है कि सबस्ट्रिंग कितनी लंबी होनी चाहिए।

सिंटैक्स

सिंटैक्स निम्नलिखित रूप लेता है:

SUBSTR(str,pos), 
SUBSTR(str FROM pos), 
SUBSTR(str,pos,len),
SUBSTR(str FROM pos FOR len)

जहां str स्ट्रिंग है, pos सबस्ट्रिंग की प्रारंभिक स्थिति है, और len निकालने के लिए वर्णों की संख्या है।

FROM . का उपयोग करने वाले दो रूप कीवर्ड मानक SQL सिंटैक्स हैं।

उदाहरण

यहां एक बुनियादी उदाहरण दिया गया है:

SELECT SUBSTR('Good doggy', 6);

परिणाम:

+-------------------------+
| SUBSTR('Good doggy', 6) |
+-------------------------+
| doggy                   |
+-------------------------+

यहाँ वही उदाहरण है, लेकिन मानक SQL सिंटैक्स का उपयोग करना:

SELECT SUBSTR('Good doggy' FROM 6);

परिणाम:

+-----------------------------+
| SUBSTR('Good doggy' FROM 6) |
+-----------------------------+
| doggy                       |
+-----------------------------+

सबस्ट्रिंग लंबाई

यहां एक उदाहरण दिया गया है जो निकालने के लिए सबस्ट्रिंग की लंबाई निर्दिष्ट करता है:

SELECT SUBSTR('Good doggy', 6, 3);

परिणाम:

+----------------------------+
| SUBSTR('Good doggy', 6, 3) |
+----------------------------+
| dog                        |
+----------------------------+

और यहाँ यह मानक SQL सिंटैक्स का उपयोग कर रहा है:

SELECT SUBSTR('Good doggy' FROM 6 FOR 3);

परिणाम:

+-----------------------------------+
| SUBSTR('Good doggy' FROM 6 FOR 3) |
+-----------------------------------+
| dog                               |
+-----------------------------------+

नकारात्मक स्थिति

स्थिति के लिए ऋणात्मक मान निर्दिष्ट करने से प्रारंभिक स्थिति को स्ट्रिंग के अंत से पीछे की ओर गिना जाता है:

SELECT SUBSTR('Good doggy', -5);

परिणाम:

+--------------------------+
| SUBSTR('Good doggy', -5) |
+--------------------------+
| doggy                    |
+--------------------------+

मानक SQL सिंटैक्स का उपयोग करते समय एक नकारात्मक स्थिति का भी उपयोग किया जा सकता है:

SELECT SUBSTR('Good doggy' FROM -5 FOR 3);

परिणाम:

+------------------------------------+
| SUBSTR('Good doggy' FROM -5 FOR 3) |
+------------------------------------+
| dog                                |
+------------------------------------+

इस मामले में मैंने सबस्ट्रिंग के लिए लंबाई भी निर्धारित की है।

Oracle मोड

Oracle मोड में होने पर, 0 . की प्रारंभ स्थिति (शून्य) को 1 . माना जाता है . हालांकि, 1 . की प्रारंभ स्थिति 1 . के रूप में भी माना जाता है ।

यह अन्य मोड के विपरीत है, जहां 0 एक खाली स्ट्रिंग लौटाएगा।

उदाहरण:

SET SQL_MODE=ORACLE;
SELECT 
    SUBSTR('Good doggy', 0) AS "0",
    SUBSTR('Good doggy', 1) AS "1";

परिणाम:

+------------+------------+
| 0          | 1          |
+------------+------------+
| Good doggy | Good doggy |
+------------+------------+

यहाँ यह डिफ़ॉल्ट मोड में है:

SET SQL_MODE=DEFAULT;
SELECT 
    SUBSTR('Good doggy', 0) AS "0",
    SUBSTR('Good doggy', 1) AS "1";

परिणाम:

+------+------------+
| 0    | 1          |
+------+------------+
|      | Good doggy |
+------+------------+

अशक्त तर्क

यदि कोई (या सभी) तर्क null . हैं , SUBSTR() फ़ंक्शन रिटर्न null :

SELECT 
    SUBSTR(null, 3, 3),
    SUBSTR('Doggy', null, 3),
    SUBSTR('Doggy', 3, null),
    SUBSTR(null, null, null);

परिणाम:

+--------------------+--------------------------+--------------------------+--------------------------+
| SUBSTR(null, 3, 3) | SUBSTR('Doggy', null, 3) | SUBSTR('Doggy', 3, null) | SUBSTR(null, null, null) |
+--------------------+--------------------------+--------------------------+--------------------------+
| NULL               | NULL                     | NULL                     | NULL                     |
+--------------------+--------------------------+--------------------------+--------------------------+

अनुपलब्ध तर्क

कॉलिंग SUBSTR() कोई तर्क पारित किए बिना त्रुटि उत्पन्न होती है:

SELECT SUBSTR();

परिणाम:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kubernetes पर एक सहायक कंटेनर के रूप में ProxySQL चलाना

  2. मारियाडीबी गैलेरा क्लस्टर्स के बीच एसिंक्रोनस प्रतिकृति कैसे सेटअप करें

  3. मारियाडीबी में सभी लोकेशंस कैसे दिखाएं

  4. मेरा MySQL डेटाबेस डिस्क स्थान से बाहर है

  5. मारियाडीबी JSON_MERGE () समझाया गया