Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में सीमांकक के बीच पाठ की खोज करें?

<घंटा/>

आपको SUBSTR() के साथ LOCATE() का उपयोग करने की आवश्यकता है। नीचे दिए गए सिंटैक्स को सीमांकक के बाद शब्द मिलेगा। यहां, डिलीमीटर कोलन (:) है, आप दूसरे का उपयोग कर सकते हैं यानी यह आप पर निर्भर है। वाक्य रचना इस प्रकार है -

<पूर्व>विकल्प चुनें(आपका कॉलमनाम, पता लगाएँ(':',आपका कॉलमनाम)+1, (CHAR_LENGTH(yourColumnName) - LOCATE(':',REVERSE(yourColumnName)) - LOCATE(':',yourColumnName)) जैसा कि आपके टेबलनाम से कोई भी उपनाम है;

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल बनाएं SearchTextBetweenDelimitersDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Words longtext, -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.67 सेकंड)

अब आप इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी इस प्रकार है -

mysql> SearchTextBetweenDelimitersDemo(Words) मानों ('ऑब्जेक्ट:ओरिएंटेड:प्रोग्रामिंग') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> SearchTextBetweenDelimitersDemo(Words) मान ('C++:Java:C#') में डालें;क्वेरी ओके, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> SearchTextBetweenDelimitersDemo(Words) मान ('SQLServer:MySQL:Oracle') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> SearchTextBetweenDelimitersDemo(Words) मानों में डालें ( 'SQL SQLServer:MySQL:Oracle');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> SearchTextBetweenDelimitersDemo से *चुनें;

निम्न आउटपुट है -

<पूर्व>+----+-----------------------------+| आईडी | शब्द |+----+-----------------------------+| 1 | ऑब्जेक्ट:ओरिएंटेड:प्रोग्रामिंग || 2 | सी++:जावा:सी# || 3 | SQL सर्वर:MySQL:Oracle || 4 | SQL SQLServer:MySQL:Oracle |+----+-----------------------------+4 पंक्तियाँ सेट में (0.00 सेकंड )

यहाँ सीमांकक के बीच शब्दों को खोजने और दिखाने की क्वेरी है -

mysql> SELECT -> SUBSTR(Words, -> LOCATE(':', Words)+1, -> (CHAR_LENGTH(Words) - LOCATE(':',REVERSE(Words)) - LOCATE(':' , शब्द))) टेक्स्ट के रूप में -> SearchTextBetweenDelimitersDemo से;

निम्न आउटपुट है -

<पूर्व>+----------+| टेक्स्ट |+----------+| उन्मुख || जावा || मायएसक्यूएल || MySQL |+----------+4 पंक्तियाँ सेट में (0.00 सेकंड)
  1. MySQL तालिका में ^ वर्ण की खोज कैसे करें?

    ^ वर्ण खोजने के लिए, नीचे दिए गए सिंटैक्स के अनुसार LIKE ऑपरेटर का उपयोग करें - टेबल_स्कीमा,टेबल_नाम,कॉलम_नाम को info_schema.columns से चुनें जहां कॉलम_नाम %^% जैसा है; आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1826 (`^` varchar(20), Name varchar(20), `^Age` int );क्वेरी ओके, 0 पंक्तियाँ प्रभाव

  1. MySQL में अल्पविराम से अलग किए गए मानों के बीच विशेष तारों की खोज कैसे करें?

    इसके लिए REGEXP का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1902 (विषय टेक्स्ट);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1902 मान (हाइबरनेट, स्प्रिंग, जेपीए) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.

  1. खोज क्वेरी के लिए MySQL डेटाबेस फ़ील्ड प्रकार?

    निम्नलिखित वाक्य रचना है - अपनेTableName से *चुनें जहां REGEXP_INSTR(yourColumnName,yourSearchValue); ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (3.06 सेकंड) इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें - डेमो64 (नाम) मान (कैरोल टेलर) मे