Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách NOT RLIKE hoạt động trong MySQL

Trong MySQL, NOT RLIKE là một phủ định của RLIKE nhà điều hành.

Nói cách khác, bất kỳ lúc nào RLIKE toán tử sẽ trả về 1 , NOT RLIKE sẽ trả về 0 .

Cú pháp

Cú pháp như sau:

expr NOT RLIKE pat

Ở đâu expr là chuỗi đầu vào và pat là biểu thức chính quy mà bạn đang kiểm tra chuỗi.

Nó tương đương với việc làm như sau:

NOT (expr RLIKE pat)

Ví dụ 1 - Cách sử dụng cơ bản

Dưới đây là một ví dụ về việc sử dụng điều này trong một SELECT tuyên bố:

SELECT 'Coffee' NOT RLIKE '^C.*e$' AS 'Result';

Kết quả:

+--------+
| Result |
+--------+
|      0 |
+--------+

Ở đây, mẫu được khớp nếu chuỗi nhập bắt đầu bằng C và kết thúc bằng e . Nó có, nhưng vì chúng tôi sử dụng NOT RLIKE , chúng tôi nhận được kết quả âm tính (0 ).

Câu lệnh trên tương đương với việc thực hiện điều này:

SELECT NOT ('Coffee' RLIKE '^C.*e$') AS 'Result';

Kết quả:

+--------+
| Result |
+--------+
|      0 |
+--------+

Ví dụ 2 - So với RLIKE

Ở đây, chúng tôi so sánh kết quả từ RLIKE với NOT RLIKE :

SELECT 
  'Coffee' RLIKE '^C.*e$' AS 'RLIKE',
  'Coffee' NOT RLIKE '^C.*e$' AS 'NOT RLIKE';

Kết quả:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     1 |         0 |
+-------+-----------+

Ví dụ 3 - Kết quả Tích cực

Các ví dụ trước dẫn đến 0 cho NOT RLIKE , bởi vì chuỗi did thực sự phù hợp với mô hình. Đây là một ví dụ mà chúng tôi nhận được 1 , chỉ ra rằng chuỗi không phù hợp với:

SELECT 
  'Funny' RLIKE '^C.*e$' AS 'RLIKE',
  'Funny' NOT RLIKE '^C.*e$' AS 'NOT RLIKE';

Kết quả:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     0 |         1 |
+-------+-----------+

Lựa chọn thay thế

MySQL bao gồm nhiều hàm và toán tử về cơ bản hoạt động tương tự và điều này cũng áp dụng cho NOT RLIKE .

Đầu tiên, RLIKE là từ đồng nghĩa của REGEXP_LIKE() chức năng (như là REGEXP ).

Thứ hai, NOT RLIKE tương đương với NOT REGEXP .

Thứ ba, RLIKE , REGEXPREGEXP_LIKE() có thể được phủ định bằng cách sử dụng NOT toán tử logic.

Do đó, tất cả những điều sau đây là tương đương:

expr NOT RLIKE pat
expr NOT REGEXP pat
NOT (expr RLIKE pat)
NOT (expr REGEXP pat)
NOT REGEXP_LIKE(expr, pat)

Và đây là một ví dụ để minh chứng:

SELECT 
  'Car' NOT RLIKE '^C' AS 'Result 1',
  'Car' NOT REGEXP '^C' AS 'Result 2',
  NOT ('Car' RLIKE '^C') AS 'Result 3',
  NOT ('Car' REGEXP '^C') AS 'Result 4',
  NOT REGEXP_LIKE('Car', '^C') AS 'Result 5';

Kết quả:

+----------+----------+----------+----------+----------+
| Result 1 | Result 2 | Result 3 | Result 4 | Result 5 |
+----------+----------+----------+----------+----------+
|        0 |        0 |        0 |        0 |        0 |
+----------+----------+----------+----------+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng các vai trò đã thay đổi trong MySQL 8.0

  2. Tệp an toàn để tải xuống

  3. Tổng hợp hàng MySQL thành số cột động

  4. Nhóm truy vấn mysql theo khoảng thời gian 15 phút

  5. 4 cách để thay thế NULL bằng một giá trị khác trong MySQL