MySQL में REGEXP का उपयोग करके अंक से समाप्त होने वाले स्ट्रिंग खोजना
REGEXP ऑपरेटर का उपयोग करके पैटर्न मिलान कर सकते हैं। अंक से समाप्त होने के लिए [[:digit:]]$ पैटर्न का उपयोग करें।
सिंटैक्स
SELECT * FROM yourTableName WHERE yourColumnName REGEXP '[[:digit:]]$';
उदाहरण
टेबल बनाएं:
mysql> create table StringEndsWithNumber (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserId varchar(20),
-> UserName varchar(20)
-> );
डेटा डालें (कुछ अंक से समाप्त, कुछ नहीं):
mysql> insert into StringEndsWithNumber(UserId, UserName) values('123User', 'John');
mysql> insert into StringEndsWithNumber(UserId, UserName) values('User456', 'Larry');
mysql> insert into StringEndsWithNumber(UserId, UserName) values('User789', 'John');
mysql> insert into StringEndsWithNumber(UserId, UserName) values('0981User', 'Carol');
mysql> insert into StringEndsWithNumber(UserId, UserName) values('User999', 'Bob');
mysql> insert into StringEndsWithNumber(UserId, UserName) values('User1290', 'David');
mysql> insert into StringEndsWithNumber(UserId, UserName) values('User456', 'James');
अंक से समाप्त होने वाले खोजें:
mysql> select * from StringEndsWithNumber where UserId REGEXP '[[:digit:]]$';
परिणाम:
+----+----------+----------+ | Id | UserId | UserName | +----+----------+----------+ | 2 | User456 | Larry | | 3 | User789 | John | | 5 | User999 | Bob | | 6 | User1290 | David | | 7 | User456 | James | +----+----------+----------+
REGEXP पैटर्न समझाया
| पैटर्न | अर्थ |
|---|---|
| [[:digit:]] | कोई अंक (0-9) |
| $ | स्ट्रिंग का अंत |
| [[:digit:]]$ | अंक से समाप्त होने वाला स्ट्रिंग |
| ^[[:digit:]] | अंक से शुरू होने वाला स्ट्रिंग |
| [[:alpha:]] | कोई अक्षर (A-Z, a-z) |
| [[:alnum:]] | अक्षर या अंक |
नोट
- MySQL 8.0+ में
REGEXP_LIKE()फ़ंक्शन भी उपलब्ध है RLIKEREGEXPका पर्यायवाची है- केस-असंवेदनशील डिफ़ॉल्ट है; केस-संवेदनशील के लिए
BINARYजोड़ें