SQL语句模糊查询,使用like,其后加上SQL里的通配符即可。
1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
6、LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
7、LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
"%"可以表示多个字符,
"_"只能表示一个字符,
一个汉字是两个字符,所以表示汉字应该用两个_,即“__”
SQL语句查询字段中是否包含汉字:
一:查询字段首位是否为汉字?
SELECT * FROM 表名WHERE ascii(字段)>127 (此处字段的格式必须是字符串格式或者为可以用str()方法转换为字符串格式的格式)
二:查询字段是否包含汉字(任意位)?
select * from 表名 where 字段 like '%[吖-座]%'
--这个可以判断是否包含汉字而不是其它双字节字符
----[吖-座]是中文字符集第一个到最后一个的范围,虽然匹配准确,但是用Like的效率很低
/*查看数据库中name字段不含有汉字的数据条目*/
/*select * from vul_info where charindex('NIPC-1997',cncve)>0 order by cncve desc*/
/*select * from vul_info where cncve like 'NIPC-1997-%'*/
/*select * from vul_info where name like '%[吖-座]%'*/
/*select * from vul_info where ascii(name)>127*/
/*select * from vul_info where name like '%[吖-座]%' and cncve like 'NIPC-1997-%'*/
select * from vul_info where cncve like 'NIPC-1997-%' and Not(name like '%[吖-座]%')