"_"通配符的功能与"%"通配符基本相同,只是它只表示任意一个字符的的匹配,当然要想表示两个字符的匹配,就需要使用两个"_"通配符,
只有在用户确定的所要查询的字符串的个数,只是不确定其中的一个或者几个字符的确切值,才使用"_".
例子:使用"_"通配符查询课程名有5个字且以"计算机"开始的课程
在course表中查询以"计算机"开头且只有5个文字的所有课程的名字(cname),人数(scount)以及考试的时间(ctest)的信息
select cname,scount,ctest from course where cname like ‘计算机_‘ order by cname
2:
与"%"通配符相似,"_"通配符可以用在字符串的任意的位置,当然,如果用户只知道要查询的字符串的个数,而不确定其中的任何一个的字符时候,也可以使用"_"通配符。
实例:
使用"_"通配符查询课程名为6个字的所有的课程
在course表中查询所有的课程名为6个字的所有的课程的课程名(cname),人数(scount),以及考试的时间(ctest)信息。实例代码:
select cname ,scount,ctest from course where cname like ‘______‘order by cname
此时会发现,不仅包含课程名6个字的所有的课程,而且课程名小于6个字的记录也被列入查询结果表中,这一点也是实际应用中会被忽略的,如查询字符串"计算机_"时,如果有条记录为"计算机",则它也被认为是符合条件的因此正确的代码是
select cname ,scount,ctest from course where cname like ‘______‘ not cname like ‘___‘order by cname