मारियाडीबी में, 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'