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

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

Trong MySQL, NOT REGEXP là phủ định của REGEXP nhà điều hành.

Nói cách khác, nếu chuỗi khớp với biểu thức chính quy được cung cấp, kết quả là 0 , nếu không thì nó là 1 . Đây là kết quả ngược lại với những gì REGEXP sẽ trả về (khi nó không có tiền tố là NOT ).

Cú pháp

Cú pháp như sau:

expr NOT REGEXP 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 REGEXP pat)

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

Dưới đây là ví dụ về cách sử dụng điều này trong SELECT tuyên bố:

SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';

Kết quả:

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

Ở đây, mẫu được khớp nếu chuỗi đầu vào bắt đầu bằng Br . Nó đúng, nhưng vì chúng tôi sử dụng NOT REGEXP , 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 ('Bread' REGEXP '^Br') AS 'Result';

Kết quả:

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

Ví dụ 2 - So với REGEXP

Để làm rõ hơn, ở đây chúng tôi so sánh kết quả từ REGEXPNOT REGEXP :

SELECT 
  'Bread' REGEXP '^Br' AS 'REGEXP',
  'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';

Kết quả:

+--------+------------+
| REGEXP | NOT REGEXP |
+--------+------------+
|      1 |          0 |
+--------+------------+

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

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

SELECT 
  'Sofa' REGEXP '^Br' AS 'REGEXP',
  'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';

Kết quả:

+--------+------------+
| REGEXP | NOT REGEXP |
+--------+------------+
|      0 |          1 |
+--------+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql - tạo ra một cơ chế tương tự như các chuỗi của Oracle

  2. lỗi tìm kiếm toàn văn bản mysql

  3. Cách tính toán sự khác biệt giữa hai ngày trong MySQL

  4. Mysql bao phủ so với tổng hợp và chỉ số cột

  5. Sử dụng ORDER BY và GROUP BY cùng nhau