मारियाडीबी में, STRCMP() एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो दो तारों की तुलना करता है। यह 0 लौटाता है , -1 , या 1 , इस पर निर्भर करता है कि तार समान हैं या नहीं।
यहां संभावित परिणाम दिए गए हैं और उनका क्या मतलब है:
0 | स्ट्रिंग समान हैं। |
-1 | पहला तर्क मौजूदा क्रम के अनुसार दूसरे तर्क से छोटा है। |
1 | पहला तर्क मौजूदा क्रम के अनुसार दूसरे तर्क से बड़ा है |
सिंटैक्स
वाक्य रचना इस प्रकार है:
STRCMP(expr1,expr2)
जहां expr1 पहली स्ट्रिंग है, और expr2 दूसरी स्ट्रिंग है।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT
STRCMP('abc', 'abc') AS "1",
STRCMP('abc', 'def') AS "2",
STRCMP('def', 'abc') AS "3"; परिणाम:
+---+----+---+ | 1 | 2 | 3 | +---+----+---+ | 0 | -1 | 1 | +---+----+---+
यह उदाहरण प्रत्येक संभावित परिणाम को दर्शाता है कि STRCMP() उत्पादन कर सकते हैं।
यहां एक और उदाहरण दिया गया है:
SELECT
STRCMP('Cat', 'Cattery') AS "1",
STRCMP('Dog', 'dog') AS "2",
STRCMP('Cow 07', 'Cow 007') AS "3"; परिणाम:
+----+---+---+ | 1 | 2 | 3 | +----+---+---+ | -1 | 0 | 1 | +----+---+---+
खाली स्ट्रिंग बनाम स्पेस
एक खाली स्ट्रिंग की तुलना किसी स्पेस से करने पर 0 . का परिणाम मिलता है :
SELECT
STRCMP(' ', ''),
STRCMP('', ' '); परिणाम:
+-----------------+-----------------+
| STRCMP(' ', '') | STRCMP('', ' ') |
+-----------------+-----------------+
| 0 | 0 |
+-----------------+-----------------+ अशक्त तर्क
पासिंग null किसी भी तर्क (या सभी तर्कों) के लिए null returns लौटाता है :
SELECT
STRCMP(null, 'abc'),
STRCMP('abc', null),
STRCMP(null, null); परिणाम:
+---------------------+---------------------+--------------------+
| STRCMP(null, 'abc') | STRCMP('abc', null) | STRCMP(null, null) |
+---------------------+---------------------+--------------------+
| NULL | NULL | NULL |
+---------------------+---------------------+--------------------+ अनुपलब्ध तर्क
कॉलिंग STRCMP() तर्कों की गलत संख्या के साथ, या बिना कोई तर्क पारित किए त्रुटि उत्पन्न होती है:
SELECT STRCMP(); परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'STRCMP'