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

MySQL में केवल पहली घटना को खोजकर बदलें (Search/Replace First Occurrence Only)


MySQL में किसी वर्ण की केवल पहली घटना को बदलना

आप CONCAT(), REPLACE(), LEFT(), SUBSTRING() और INSTR() फ़ंक्शन को मिलाकर केवल पहली घटना को बदल सकते हैं।

सिंटैक्स

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

उदाहरण

टेबल बनाएं:

mysql> create table UserInformation (
    -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName varchar(10),
    -> UserPost text
    -> );

डेटा डालें (सभी में 'Thks' है):

mysql> insert into UserInformation(UserName, UserPost) values('Larry', 'Thks is a MySQL query');
mysql> insert into UserInformation(UserName, UserPost) values('Mike', 'Thks is not a java program');
mysql> insert into UserInformation(UserName, UserPost) values('Sam', 'Thks is a SQL syntax');

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

mysql> update UserInformation
    -> set UserPost = CONCAT(
        REPLACE(LEFT(UserPost, INSTR(UserPost, 'k')), 'k', 'i'),
        SUBSTRING(UserPost, INSTR(UserPost, 'k') + 1)
    );

परिणाम:

+--------+----------+----------------------------+
| UserId | UserName | UserPost                   |
+--------+----------+----------------------------+
|      1 | Larry    | This is a MySQL query      |
|      2 | Mike     | This is not a java program |
|      3 | Sam      | This is a SQL syntax       |
+--------+----------+----------------------------+

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

  1. INSTR(UserPost, 'k') - पहले 'k' की स्थिति ढूंढता है
  2. LEFT(UserPost, pos) - उस स्थिति तक का भाग लेता है
  3. REPLACE(..., 'k', 'i') - उस भाग में 'k' को 'i' से बदलता है
  4. SUBSTRING(UserPost, pos + 1) - शेष भाग लेता है
  5. CONCAT() - दोनों भागों को जोड़ता है
  1. - MySQL में टेबल में मौजूद न होने वाले मानों को कैसे क्वेरी करें?

    MySQL में किसी टेबल में मौजूद नहीं होने वाले मानों को खोजने के लिए, UNION ALL के साथ WHERE NOT EXISTS या NOT IN का उपयोग करें। यह गैप विश्लेषण या मिसिंग सीक्वेंस खोजने के लिए उपयोगी है। उदाहरण: मिसिंग ऑटो-इन्क्रीमेंट मान खोजना ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql> CREATE TABLE DemoTable1918 (

  1. - MySQL: सभी रिकॉर्ड अपडेट करें ताकि केवल पहला अक्षर बड़ा हो और बाकी छोटे

    समाधान UPPER, LOWER, LEFT, SUBSTRING और REPLACE फंक्शन का संयोजन उपयोग करें। उदाहरण टेबल बनाएं और डेटा डालें: INSERT INTO DemoTable2017 VALUES (CHRIS BROWN,JAVA); अपडेट क्वेरी SET Name = REPLACE( CONCAT(UPPER(LEFT(Name, 1)), LOWER(SUBSTRING(Name, 2))), , , , ); परिणाम +--------

  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