Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL STRCMP() फंक्शन: कार्य, सिंटैक्स और संभावित आउटपुट

STRCMP(str1, str2) दो स्ट्रिंग्स की लेक्सिकोग्राफिक (बाइनरी) तुलना करता है।

सिंटैक्स

STRCMP(str1, str2)

संभावित वापसी मान

शर्तपरिणामअर्थ
str1 = str20दोनों स्ट्रिंग्स समान
str1 > str21पहली स्ट्रिंग दूसरी से बड़ी
str1 < str2-1पहली स्ट्रिंग दूसरी से छोटी
कोई भी तर्क NULLNULLतुलना संभव नहीं

उदाहरण

mysql> SELECT STRCMP('MySQL', 'MySQL');  -- 0
mysql> SELECT STRCMP('MSQL', 'MySQL');   -- -1 (पहला छोटा)
mysql> SELECT STRCMP('MySQL', 'MSQL');   -- 1  (पहला बड़ा)

एकाधिक तुलनाओं का संयुक्त उदाहरण

mysql> SELECT 
    STRCMP('Test', 'Test')       AS 'Equal Strings',
    STRCMP('TestABC', 'Test')    AS '2nd Smaller',
    STRCMP('Test', 'TestABC')    AS '1st Smaller',
    STRCMP('Test', NULL)         AS '2nd NULL',
    STRCMP(NULL, 'Test')         AS '1st NULL',
    STRCMP(NULL, NULL)           AS 'Both NULL';
+---------------+-------------+-------------+----------+----------+-----------+
| Equal Strings | 2nd Smaller | 1st Smaller | 2nd NULL | 1st NULL | Both NULL |
+---------------+-------------+-------------+----------+----------+-----------+
| 0             | 1           | -1          | NULL     | NULL     | NULL      |
+---------------+-------------+-------------+----------+----------+-----------+

उपयोग के मामले

  • सॉर्टिंग/क्रम में तुलना
  • शर्तों में: WHERE STRCMP(col1, col2) = 0 (बराबरी जांच)
  • केस-सेंसिटिव तुलना के लिए उपयोगी
नोट: MySQL 8.0+ में डिफ़ॉल्ट कोलेशन केस-इनसेंसिटिव हो सकता है, लेकिन STRCMP() हमेशा बाइनरी तुलना करता है।
  1. - MySQL स्टोर्ड प्रोसीजर और फंक्शन में क्या अंतर है?

    स्टोर्ड प्रोसीजर MySQL में, एक स्टोर्ड प्रोसीजर को CALL स्टेटमेंट की मदद से बुलाया जाता है। एक स्टोर्ड प्रोसीजर एक से अधिक मान (multiple values) वापस कर सकता है। डिफ़ॉल्ट रूप से, एक स्टोर्ड प्रोसीजर 0 वापस करता है। इसका उपयोग SQL क्वेरी के अंदर नहीं किया जा सकता और यह प्री-कंपाइल (pre-compiled) पर आ

  1. - MySQL में server_id और UUID को CONCAT करने का परिणाम क्या होगा?

    हां, आप MySQL में server_id और UUID को आसानी से CONCAT कर सकते हैं। इसका सिंटैक्स निम्नलिखित है: SELECT CONCAT(@@server_id, UUID()) यहां हमने @@server_id का उपयोग server_id का मान प्राप्त करने के लिए किया है। @@server_id एक सिस्टम-डिफाइंड वेरिएबल है। आइए क्वेरी देखते हैं: SELECT CONCAT(@@server_id

  1. - MySQL में CHAR() का रिवर्स फ़ंक्शन क्या है

    CHAR() का रिवर्स फ़ंक्शन MySQL में ASCII() या ORD() है। यहां ASCII() बाएं-मोस्ट वर्ण का संख्यात्मक मान लौटाता है, जबकि ORD() आर्गुमेंट के बाएं-मोस्ट वर्ण का कैरेक्टर कोड लौटाता है। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable ( Value int, Value1 char(1), Value2 char(