Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में किसी दिए गए सबस्ट्रिंग की अंतिम अनुक्रमणिका

@Marc B करीब था। MySQL में, निम्न कथन 12 लौटाता है:

SELECT CHAR_LENGTH("Have_a_good_day") - LOCATE('_', REVERSE("Have_a_good_day"))+1;

मान के संभावित उपयोग का अनुमान लगाते हुए, निम्न कथन अंतिम अंडरस्कोर (यानी, _) से पहले स्ट्रिंग के बाएं हिस्से को निकालता है:

SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last")));

परिणाम "first_middle" है। यदि आप सीमांकक शामिल करना चाहते हैं, तो इसका उपयोग करें:

SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last"))+1);

यह अच्छा होगा यदि उन्होंने खोज को दाईं ओर से शुरू करने का विकल्प रखने के लिए LOCATE को बढ़ाया है।

यदि आप अंतिम स्थान के बाद स्ट्रिंग का दाहिना भाग चाहते हैं तो एक बेहतर समाधान है:

SELECT SUBSTRING_INDEX("first_middle_last", '_', -1);

यह "अंतिम" लौटाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL मैच मुद्दा

  2. MYSQL में सामान्यीकरण

  3. फॉर्म विकल्पों के साथ MYSQL क्वेरी को फ़िल्टर करें

  4. MySQL डेटाबेस से Elasticsearch में डेटा स्ट्रीम करने के लिए इलास्टिक्सर्च-नदी-mysql का उपयोग करना

  5. कॉन्फ़िगरेशन फ़ाइल में सादा पाठ में MySQL पासवर्ड संग्रहीत करने से बेहतर तरीका?