MySQL NOT REGEXP 运算符
在MySQL中,NOT REGEXP是用于模式匹配的REGEXP运算符的否定。它比较输入字符串中的给定模式并返回不匹配模式的结果。如果此运算符找到匹配项,则结果为0。否则,结果为1。
语法
以下是在MySQL中使用此运算符的基本语法:
expression NOT REGEXP pattern ;
在这种语法中, expression 是我们要在其中搜索匹配正则表达式的输入字符串。而 pattern 表示我们要测试的字符串的正则表达式。这种语法通常与 SELECT 语句 一起使用。
上述语法等同于下面的语句:
NOT (expression REGEXP pattern) ;
让我们通过示例来了解这个运算符在MySQL中是如何工作的。
示例
以下语句是使用NOT REGEXP运算符的最基本示例。在这里,我们只是使用一个字符串并将其与正则表达式进行比较,以检查输入字符串的任何部分是否与模式匹配。
mysql> SELECT
'Corner' NOT REGEXP 'Corn' AS Result1,
'Bread' NOT REGEXP 'Bro' AS Result2;
这是结果:
以下是另一个示例,其中模式匹配的条件是 给定字符串以Java开头 。由于给定字符串与Java匹配,但由于REGEXP运算符的否定,所以我们将得到输出0。
mysql> SELECT NOT ('Javatpoint' REGEXP '^Java') AS 'Result';
这是结果:
假设我们有一个名为 employee 的表,其中包含以下数据。
如果我们想要获取员工详细信息,名字不以j或s开头,我们可以按照以下方式操作:
mysql> SELECT * FROM employee WHERE Name NOT REGEXP '^[js]';
执行这个语句,我们将会得到所期望的结果。查看以下输出: