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

MySQL में सत्र वेरिएबल के साथ केवल पहली घटना को खोजकर बदलें


MySQL में उपयोगकर्ता-परिभाषित सत्र वेरिएबल पर पहली घटना बदलना

आप सत्र वेरिएबल पर CONCAT(), REPLACE(), LEFT(), SUBSTRING(), INSTR() का उपयोग करके केवल पहली घटना बदल सकते हैं।

उदाहरण

सत्र वेरिएबल सेट करें:

mysql> set @Sentence = 'Thks ks is a my string';

पहले 'k' को 'i' से बदलें:

mysql> select @Sentence as NewString,
    -> CONCAT(REPLACE(LEFT(@Sentence, INSTR(@Sentence, 'k')), 'k', 'i'),
    -> SUBSTRING(@Sentence, INSTR(@Sentence, 'k') + 1)) as ChangeOnlyOneTime;

परिणाम:

+------------------------+------------------------+
| NewString              | ChangeOnlyOneTime      |
+------------------------+------------------------+
| Thks ks is a my string | This ks is a my string |
+------------------------+------------------------+

कैसे काम करता है

  1. INSTR(@Sentence, 'k') - पहले 'k' की स्थिति (4)
  2. LEFT(@Sentence, 4) - "Thks"
  3. REPLACE('Thks', 'k', 'i') - "This"
  4. SUBSTRING(@Sentence, 5) - " ks is a my string"
  5. CONCAT('This', ' ks is a my string') - "This ks is a my string"

टेबल कॉलम पर लागू करना

UPDATE yourTableName
SET yourColumn = CONCAT(
    REPLACE(LEFT(yourColumn, INSTR(yourColumn, 'k')), 'k', 'i'),
    SUBSTRING(yourColumn, INSTR(yourColumn, 'k') + 1)
);

नोट

यह तकनीक केवल पहली घटना बदलती है। सभी घटनाएं बदलने के लिए साधारण REPLACE(column, 'k', 'i') का उपयोग करें।

  1. - MySQL में LEFT() फ़ंक्शन का उपयोग करके पहले वर्ण के आधार पर कॉलम मान फ़िल्टर करना

    MySQL LEFT() फ़ंक्शन के साथ स्ट्रिंग प्रीफिक्स फ़िल्टरिंग MySQL का LEFT() फ़ंक्शन किसी स्ट्रिंग से निर्दिष्ट संख्या में बाएं वर्ण निकालता है। यह पहले वर्ण (या पहले N वर्ण) के आधार पर रिकॉर्ड्स फ़िल्टर करने के लिए उपयोगी है। उदाहरण: J से शुरू होने वाले नाम ढूंढना पहले एक कर्मचारी टेबल बनाते हैं: SE

  1. - MySQL टेबल में ^ वर्ण कैसे खोजें?

    ^ वर्ण खोजने के लिए, नीचे दिए गए सिंटैक्स में LIKE ऑपरेटर का उपयोग करें: select table_schema,table_name,column_name from information_schema.columns where column_name like %^%; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1826 ( `^` varchar(20), Name varchar(20), `^Age` in

  1. - MySQL में स्ट्रिंग में केवल पहली बार आने वाले शब्द को कैसे रिप्लेस करें?

    REGEXP_REPLACE() फ़ंक्शन केवल पहली occurrence बदलने के लिए REGEXP_REPLACE() का उपयोग करें (MySQL 8.0+)। उदाहरण स्ट्रिंग: This is my first MySQL query. This is the first tutorial. I am learning for the first time. first का पहला occurrence second से रिप्लेस करना है। टेबल और डेटा insert into demo26