Trong MariaDB, 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ụ
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$'; Kết quả:
+ ----------------------------- + | 'Coffee' NOT RLIKE '^ C. * e $' | + ----------------------------- + | 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$'); Kết quả:
+ ------------------------------- + | NOT ('Coffee' RLIKE '^ C. * e $') | + ------------------------------- + | 0 | + ------------------------------- + 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 | KHÔNG RLIKE | + ------- + ----------- + | 1 | 0 | + ------- + ----------- +
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 | KHÔNG RLIKE | + ------- + ----------- + | 0 | 1 | + ------- + ----------- +
Lựa chọn thay thế
MariaDB bao gồm nhiều hàm và toán tử về cơ bản thực hiện cùng một việc và điều này cũng áp dụng cho NOT RLIKE .
-
RLIKElà từ đồng nghĩa củaREGEXPtoán tử. -
NOT RLIKEtương đương vớiNOT REGEXP. -
RLIKEvàREGEXPcó thể được phủ định bằng cách sử dụngNOTtoá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) 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"; Kết quả:
+ ---------- + ---------- + ---------- + ---------- + | Kết quả 1 | Kết quả 2 | Kết quả 3 | Kết quả 4 | + ---------- + ---------- + ---------- + ---------- + | 0 | 0 | 0 | 0 | + ---------- + ---------- + ---------- + ---------- +