众所周知,NOT LIKE 运算符与 WILDCARD 字符一起使用,用于不获取具有指定字符串的字符串。基本上,通配符是帮助搜索匹配复杂条件的数据的字符。以下是可与 NOT LIKE 运算符结合使用的通配符类型:
“%”通配符用于指定 0、1 模式或更多字符。将 % 通配符与 NOT LIKE 运算符一起使用的基本语法如下:
Select Statement…Where column_name NOT LIKE ‘X%’
这里 X是任何指定的起始模式,例如more和%的单个字符匹配从0开始的任意数量的字符。
百分比'%'通配符可以以多种方式与指定模式配合。以下是一些示例,显示了带有 % 的不同 NOT LIKE 运算符。在这些示例中,X 代表指定的模式:
1。不像“X%”:它将查找除以“X”开头的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE 'a%'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
2。与‘%X’不同:它将查找除以“X”结尾的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE '%v'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+----------+--------------------+ 2 rows in set (0.00 sec)
3。与“%X%”不同:它将查找除任何位置上有“X”的值之外的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE '%h%'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+--------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 3 rows in set (0.00 sec)
4。 NOT LIKE 'X%X':它将查找除以“X”开头并以“X”结尾的值以外的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE 'a%v'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
下划线通配符用于精确匹配一个字符。将 _ 通配符与 NOT LIKE 运算符一起使用的基本语法如下:
Select 语句...Where column_name NOT LIKE 'X_'
此处 X 是任何指定的起始模式,例如 more 的单个字符,_ 恰好匹配一个字符。
可以单独使用下划线“_”通配符或与 % 结合,以多种方式与指定模式结合。以下是一些示例,显示了带有 % 的不同 NOT LIKE 运算符。在这些示例中,X 代表指定的模式:
1。与“X_”不同:它将查找除以“X”开头且 X 后只有一个字符以外的任何值。
示例
mysql> Select * from Student Where Year_of_Admission NOT LIKE '200_'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+--------+---------+-----------+--------------------+ | 2 | Aarav | Mumbai | History | 2010 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 2 rows in set (0.00 sec)
2。与“_X”不同:它将查找除以“X”结尾且 X 之前只有一个字符以外的任何值。
示例
mysql> Select * from Student Where Year_of_Admission NOT LIKE '_017'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
3。 NOT LIKE _X%:它与 % 通配符结合使用。它将找到除第二个位置有 X 之外的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE '_a%'; Empty set (0.00 sec)
4。与 X_%_% 不同: 它与 % 通配符结合使用。它将查找除以 X 开头且长度至少为三个字符以外的任何值。
示例
mysql> Select * from Student Where Name NOT LIKE 'g_%_%'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+----------+--------------------+ | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+----------+--------------------+ 3 rows in set (0.00 sec)
以上是可与 NOT LIKE 运算符一起使用的不同通配符有哪些?的详细内容。更多信息请关注PHP中文网其他相关文章!