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
.
-
RLIKE
là từ đồng nghĩa củaREGEXP
toán tử. -
NOT RLIKE
tương đương vớiNOT REGEXP
. -
RLIKE
vàREGEXP
có thể được phủ định bằng cách sử dụngNOT
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)
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 | + ---------- + ---------- + ---------- + ---------- +