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

MySQL :पहले वाले को छोड़कर क्षेत्र में एक स्ट्रिंग की घटना को बदलें

यदि "MyString" हमेशा क्षेत्र में पहले पद के रूप में आता है, तो यह काम करेगा:

update MyTable set MyField = replace(MyField, ' MyString','')

उपरोक्त मुख्य बिंदु यह है कि हम "MyString" की घटनाओं को एक प्रमुख स्थान के साथ देखते हैं, इसलिए फ़ील्ड की शुरुआत में पहली घटना को अनदेखा कर दिया जाएगा।

हालांकि, मेरा अनुमान है कि यह बहुत नाजुक हो सकता है - क्या होगा यदि "माईस्ट्रिंग" की पहली घटना क्षेत्र की शुरुआत में नहीं है?

इस बाद के मामले में आपको निम्नलिखित की आवश्यकता है:

UPDATE 
    MyTable 
SET 
    MyField = 
    CONCAT(
        LEFT(MyField,INSTR(MyField,'MyString') + LENGTH('MyString')), 
        REPLACE(RIGHT(MyField, LENGTH(MyField) - (INSTR(MyField,'MyString') + LENGTH('MyString'))), 'MyString','') 
    )

यह क्या करता है क्षेत्र को दो में विभाजित करना, पहला भाग "माईस्ट्रिंग" की पहली घटना तक और इसमें शामिल है, और दूसरा भाग इसके आगे की सभी घटनाओं को प्रतिस्थापित करता है।




  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 तालिका में html कोड सम्मिलित करना

  2. mySQL विशेषज्ञ - 'प्रतिच्छेदन' के साथ मदद की ज़रूरत है

  3. MySQL के लिए रिलेशनल डेटाबेस डिज़ाइन पर त्वरित सुझाव

  4. django टेम्पलेट में लाइन ब्रेक के साथ डेटाबेस से टेक्स्ट कैसे आउटपुट करें?

  5. दो अलग-अलग मॉडलों से जानकारी खींचने के लिए django टेम्पलेट कैसे प्राप्त करें?