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

MySQL में REGEXP का उपयोग करके कॉलम मानों में स्ट्रिंग या डिजिट कैसे चेक करें

REGEXP के साथ स्ट्रिंग और डिजिट मानों को फ़िल्टर करना

MySQL में रेगुलर एक्सप्रेशन (REGEXP) का उपयोग करके कॉलम मानों को स्ट्रिंग या डिजिट के आधार पर फ़िल्टर करें।

सिंटैक्स:

  • केवल स्ट्रिंग मान (डिजिट नहीं): WHERE yourColumnName NOT REGEXP '^[0-9]+$'
  • केवल डिजिट मान: WHERE yourColumnName REGEXP '^[0-9]+$'

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    Id VARCHAR(100)
);

मिश्रित मानों के साथ रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES ('1000');
mysql> INSERT INTO DemoTable VALUES ('John');
mysql> INSERT INTO DemoTable VALUES ('Carol_Smith');
mysql> INSERT INTO DemoTable VALUES ('2000');

सभी रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------------+
| Id          |
+-------------+
| 1000        |
| John        |
| Carol_Smith |
| 2000        |
+-------------+

केस 1: केवल स्ट्रिंग मान प्राप्त करें

mysql> SELECT * FROM DemoTable WHERE Id NOT REGEXP '^[0-9]+$';

आउटपुट:

+-------------+
| Id          |
+-------------+
| John        |
| Carol_Smith |
+-------------+

केस 2: केवल डिजिट मान प्राप्त करें

mysql> SELECT * FROM DemoTable WHERE Id REGEXP '^[0-9]+$';

आउटपुट:

+------+
| Id   |
+------+
| 1000 |
| 2000 |
+------+

रेगुलर एक्सप्रेशन व्याख्या:

  • ^ - स्ट्रिंग की शुरुआत
  • [0-9] - कोई भी डिजिट (0-9)
  • + - एक या अधिक बार
  • $ - स्ट्रिंग का अंत
  • ^[0-9]+$ - पूरा स्ट्रिंग केवल डिजिट्स से बना हो

नोट: REGEXP केस-इनसेंसिटिव होता है। केस-सेंसिटिव मैच के लिए REGEXP BINARY या COLLATE utf8mb4_bin का उपयोग करें।

  1. - MySQL में कॉलम मानों को CSV फॉर्मेट में कैसे प्रदर्शित करें

    कॉलम मानों को CSV के रूप में प्रदर्शित करने के लिए GROUP_CONCAT() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable786 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(100) ) AUTO_INCREMENT=101; Query OK, 0 rows affected (0.70 sec) इन्स

  1. - MySQL में जांचें कि क्या किसी कॉलम में विशिष्ट स्ट्रिंग है

    CONCAT() के साथ LIKE का उपयोग करके जांचें कि क्या कोई कॉलम मान दिए गए सबस्ट्रिंग को समाहित करता है या इसके विपरीत। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable (Name VARCHAR(40)); Query OK, 0 rows affected (0.56 sec) INSERT INTO DemoTable VALUES(John),(Adam),(Bob),(Johnson),(David); सभी रिकॉ

  1. - MySQL REGEXP से स्ट्रिंग में अंक (डिजिट) कैसे मिलान करें

    MySQL में REGEXP ऑपरेटर का उपयोग करके किसी स्ट्रिंग कॉलम में अंक (0-9) वाले रिकॉर्ड खोज सकते हैं। सिंटैक्स SELECT * FROM yourTableName WHERE yourColumnName REGEXP [0-9]; टेबल बनाएं और डेटा डालें mysql> CREATE TABLE DemoTable1841 (Code VARCHAR(20)); mysql> INSERT INTO DemoTable1841 VALUES(Jo