MySQL में STRCMP() फंक्शन दो स्ट्रिंग्स की तुलना करता है और उनके क्रम के आधार पर मान वापस करता है।
STRCMP() वापसी मान
| शर्त | वापसी मान |
|---|---|
| दोनों स्ट्रिंग समान | 0 |
| पहली स्ट्रिंग दूसरी से छोटी (lexicographically) | -1 |
| पहली स्ट्रिंग दूसरी से बड़ी | 1 |
उदाहरण
-- केस 1: समान स्ट्रिंग
mysql> SELECT STRCMP('demo', 'demo');
+----------------------+
| STRCMP('demo', 'demo') |
+----------------------+
| 0 |
+----------------------+
-- केस 2: पहली छोटी
mysql> SELECT STRCMP('demo', 'demo1234');
+----------------------------+
| STRCMP('demo', 'demo1234') |
+----------------------------+
| -1 |
+----------------------------+
-- केस 3: पहली बड़ी
mysql> SELECT STRCMP('demo1', 'demo');
+-------------------------+
| STRCMP('demo1', 'demo') |
+-------------------------+
| 1 |
+-------------------------+
व्यावहारिक उपयोग
-- समानता जांच (केस-संवेदनशील)
SELECT * FROM users WHERE STRCMP(password, 'secret') = 0;
-- क्रमबद्ध करने के लिए
SELECT * FROM products ORDER BY STRCMP(name, 'target') ASC;
अन्य तुलना फंक्शन
STRCMP(): केस-संवेदनशील (डिफ़ॉल्ट कॉलेशन अनुसार)strcmp()केस-असंवेदनशील के लिए:STRCMP(LOWER(a), LOWER(b))LIKEपैटर्न मिलान के लिएSOUNDEX()ध्वन्यात्मक तुलना के लिएLEVENSHTEIN()संपादन दूरी के लिए (UDF आवश्यक)
नोट
STRCMP बाइनरी तुलना करता है। केस-असंवेदनशील तुलना के लिए दोनों स्ट्रिंग को LOWER() या UPPER() में बदलें।