“_”通配符

6.5.3  “_”通配符

“_”通配符的功能与“%”通配符基本相同,只是它只表示任意一个字符的匹配。当然,要表示两个字符的匹配,就需要使用两个“_”通配符,即写成“__”。

只有在用户确定所要查询的字符串的个数,只是不确定其中的一个或几个字符的确切值时,才能使用“_”通配符。

实例19  使用“_”通配符查询课程名有5个字且以“计算机”开始的课程

在COURSE表中查询所有以“计算机”开头且只有5个文字的所有课程的课程名(CNAME)、人数(SCOUNT)以及考试时间(CTEST)信息。实例代码:

SELECT  CNAME, SCOUNT, CTEST
FROM   COURSE
WHERE    CNAME LIKE '计算机__'
ORDER BY  CNAME

运行结果如图6.21所示。

   
图6.21  课程名有5个字且以“计算机”开始的课程

与“%”通配符相似,“_”通配符可以用在字符串的任意位置。当然,如果用户只知道要查询的字符串个数,而不能确定其中任何一个字符时,也可以使用“_”通配符。

实例20  使用“_”通配符查询课程名为6个字的所有课程

在COURSE表中查询所有课程名为6个字的所有课程的课程名(CNAME)、人数(SCOUNT)以及考试时间(CTEST)信息。实例代码:

SELECT  CNAME, SCOUNT, CTEST
FROM   COURSE
WHERE    CNAME LIKE '______'
ORDER BY  CNAME

运行结果如图6.22所示。

 
图6.22  课程名为6个字的所有课程

此时发现,不仅包含课程名6个字的所有课程,而且课程名少于6个字的记录也被列入查询结果表中,这一点也是实际应用中经常被会忽略的问题。如查询字符串“计算机_”时,如果有条记录为“计算机”,则它也被认为是符合查询条件的。因此,上例正确的SQL代码如下。

SELECT  CNAME, SCOUNT, CTEST
FROM   COURSE
WHERE    CNAME LIKE '______'
AND   NOT CNAME LIKE '_____'
ORDER BY  CNAME

运行结果如图6.23所示。

 
图6.23  课程名为六个字的所有课程
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值