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

MySQL में REPLACE() फ़ंक्शन का उपयोग करके कॉलम मानों से विशेष वर्ण (#) हटाना

MySQL में REPLACE() फ़ंक्शन और UPDATE का उपयोग करके कॉलम मानों से अवांछित विशेष वर्ण (जैसे #) हटाएं।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> StudentId VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.53 sec)
mysql> INSERT INTO DemoTable VALUES('STU#123'), ('STU#567'), ('STU#98494');

मौजूदा डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+-----------+
| StudentId |
+-----------+
| STU#123   |
| STU#567   |
| STU#98494 |
+-----------+
3 rows in set (0.00 sec)

# वर्ण हटाने के लिए अपडेट करना

mysql> UPDATE DemoTable SET StudentId = REPLACE(StudentId, '#', '');
Query OK, 3 rows affected (0.13 sec)
Rows matched: 3  Changed: 3  Warnings: 0

अपडेट के बाद डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+-----------+
| StudentId |
+-----------+
| STU123    |
| STU567    |
| STU98494  |
+-----------+
3 rows in set (0.00 sec)

REPLACE() व्यवहार:

  • निर्दिष्ट सबस्ट्रिंग के सभी उदाहरणों को बदलता है
  • केस-सेंसिटिव (डिफ़ॉल्ट कॉलेशन के अनुसार)
  • खाली स्ट्रिंग '' से बदलने पर वर्ण प्रभावी रूप से हट जाता है

बहु-वर्ण हटाने के लिए चेनिंग:

UPDATE DemoTable
SET StudentId = REPLACE(REPLACE(REPLACE(StudentId, '#', ''), '-', ''), ' ', '');

MySQL 8.0+ विकल्प: REGEXP_REPLACE(StudentId, '[#\\- ]', '') - रेगेक्स पैटर्न से सभी मिलान एक बार में हटाएं।

सावधानी: प्राइमरी की या यूनिक कॉलम पर UPDATE करने से डुप्लिकेट की त्रुटि हो सकती है यदि परिणाम मौजूदा मान से टकराता है।

  1. - MySQL में REPLACE() से कॉलम मान में विशेष वर्ण बदलें

    MySQL का REPLACE() फ़ंक्शन किसी स्ट्रिंग में सभी घटनाओं को ढूंढकर नए स्ट्रिंग से बदल देता है। इसका उपयोग UPDATE के साथ करके कॉलम डेटा साफ़ कर सकते हैं। सिंटैक्स UPDATE टेबल_नाम SET कॉलम_नाम = REPLACE(कॉलम_नाम, पुराना_स्ट्रिंग, नया_स्ट्रिंग); उदाहरण: ______ को Mike_007 से बदलें 1. टेबल बनाएं CREA

  1. - MySQL में कॉलम मानों से बेतरतीब ढंग से 2 मान चुनें?

    बेतरतीब ढंग से चुनने के लिए ORDER BY RAND() का उपयोग करें। MySQL में केवल 2 मान चुनने के लिए LIMIT 2 का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1815 ( Question text ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: my

  1. - MySQL में स्ट्रिंग कॉलम (स्ट्रिंग, संख्या, विशेष वर्ण) से विशिष्ट रिकॉर्ड प्राप्त करें

    CAST और SUBSTRING से संख्यात्मक भाग अनुसार क्रमबद्ध करें John_12, Chris_101 जैसे स्ट्रिंग कॉलम से संख्यात्मक भाग निकालकर क्रमबद्ध करें और विशिष्ट रिकॉर्ड प्राप्त करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2006 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserCode varchar(20