MySQL में स्ट्रिंग फ़ंक्शंस में से एक है STRCMP()
. यह फ़ंक्शन आपको दो स्ट्रिंग्स की उनके सॉर्ट क्रम के अनुसार तुलना करने की अनुमति देता है।
फ़ंक्शन दो तर्क स्वीकार करता है। प्रत्येक तर्क तुलना करने के लिए स्ट्रिंग है। यह या तो 1
लौटाता है , -1
, या 0
, सॉर्ट क्रम के अनुसार पहली स्ट्रिंग बड़ी, छोटी, या दूसरी स्ट्रिंग के समान आकार पर निर्भर करती है।
सिंटैक्स
यहाँ सिंटैक्स है:
STRCMP(expr1,expr2)
जहां expr1
पहली स्ट्रिंग है और expr2
दूसरी स्ट्रिंग है।
उदाहरण
यहां एक उदाहरण दिया गया है जहां पहली स्ट्रिंग सॉर्ट क्रम के अनुसार दूसरी स्ट्रिंग से छोटी है:
SELECT STRCMP('A', 'B');
परिणाम:
+------------------+ | STRCMP('A', 'B') | +------------------+ | -1 | +------------------+
यदि हम चारों ओर के तर्कों की अदला-बदली करते हैं तो हमें यह मिलता है:
SELECT STRCMP('B', 'A');
परिणाम:
+------------------+ | STRCMP('B', 'A') | +------------------+ | 1 | +------------------+
और अगर हम दोनों तर्कों के लिए एक ही स्ट्रिंग का उपयोग करते हैं तो हमें यह मिलता है:
SELECT STRCMP('A', 'A');
परिणाम:
+------------------+ | STRCMP('A', 'A') | +------------------+ | 0 | +------------------+
बेशक, स्ट्रिंग्स में एक से अधिक वर्ण हो सकते हैं (और शायद होंगे):
SELECT STRCMP('A big box', 'Wind and rain') AS Result;
परिणाम:
+--------+ | Result | +--------+ | -1 | +--------+
संयोजन
STRCMP()
फ़ंक्शन स्ट्रिंग की तुलना करते समय संयोजन का उपयोग करता है। इसका मतलब है कि इस्तेमाल किए जा रहे संयोजन के आधार पर आपको अलग-अलग परिणाम मिल सकते हैं। निम्नलिखित उदाहरण इसे प्रदर्शित करते हैं।
केस असंवेदनशील
इस उदाहरण में हम केस असंवेदनशील कॉलेशन (_ci
. का उपयोग करके तुलना करते हैं मिलान के भाग का अर्थ है केस असंवेदनशील):
SET @lowercase = _utf8mb4 'a' COLLATE utf8mb4_0900_ai_ci; SET @uppercase = _utf8mb4 'A' COLLATE utf8mb4_0900_ai_ci; SELECT STRCMP(@lowercase, @uppercase) AS Result;
परिणाम:
+--------+ | Result | +--------+ | 0 | +--------+
केस सेंसिटिव
इस उदाहरण में हम केस सेंसिटिव कॉलेशन (_cs
.) का उपयोग करके तुलना करते हैं मिलान के भाग का अर्थ है केस संवेदनशील):
SET @lowercase = _utf8mb4 'a' COLLATE utf8mb4_0900_as_cs; SET @uppercase = _utf8mb4 'A' COLLATE utf8mb4_0900_as_cs; SELECT STRCMP(@lowercase, @uppercase) AS Result;
परिणाम:
+--------+ | Result | +--------+ | -1 | +--------+
MySQL में, संयोजन को विभिन्न स्तरों (जैसे कनेक्शन स्तर, डेटाबेस स्तर, स्तंभ स्तर, आदि) पर सेट किया जा सकता है। यदि आप सुनिश्चित नहीं हैं कि किस संयोजन का उपयोग किया जा रहा है, तो MySQL में संयोजन कैसे खोजें देखें।