STRCMP(str1, str2) दो स्ट्रिंग्स की लेक्सिकोग्राफिक (बाइनरी) तुलना करता है।
सिंटैक्स
STRCMP(str1, str2)
संभावित वापसी मान
| शर्त | परिणाम | अर्थ |
|---|---|---|
| str1 = str2 | 0 | दोनों स्ट्रिंग्स समान |
| str1 > str2 | 1 | पहली स्ट्रिंग दूसरी से बड़ी |
| str1 < str2 | -1 | पहली स्ट्रिंग दूसरी से छोटी |
| कोई भी तर्क NULL | NULL | तुलना संभव नहीं |
उदाहरण
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() हमेशा बाइनरी तुलना करता है।