SQL SERVER 入门进阶教程——通配符

LIKE操作符


提示:前面已经学习了过滤,但那些都是固定值或范围,基本都算是精确查询,在有些时候不那么好用,比如模糊查询,我们只想筛选出与之相近的结果,这就需要用到LIKE和通配符进行结合使用

1.1 百分号%通配符

提示:百分号%是最常用的通配符,在搜索时,%可以表示任何字符

SQL语句:

SELECT prod_id,prod_name 
FROM Products 
WHERE prod_name LIKE 'Fish%'

SQL语句分析:

这条语句表示从products中检索出prod_name由Fish开头的所有数据,%不仅能放在字符末尾,还可以放到字符前面,中间等任务地方,比如:

%Fish%,Fi%sh%,%Fish等等

输出结果:

提示:请注意NULL,%可以匹配任何东西,但是却又个列外,那就是NULL值

1.2 下划线_通配符

提示:下划线通配符的用途和%一样,但是下划线只能匹配单个字符,而不是多个字符

SQL语句:

SELECT prod_id,prod_name 
FROM Products 
WHERE prod_name LIKE '__ inch teddy bear'

SQL语句分析:

这条语句使用两个下划线_,所以检索两个字符,如果使用%则检索出所有数据

输出结果:

1.3 方括号[]通配符

提示:这个通配符我也是第一次知道,方括号[]通配符是用来指定一个字符集,它必须匹配指定位置的一个字符

SQL语句:

SELECT cust_contact 
FROM Customers 
WHERE cust_contact LIKE '[JM]%'

SQL语句分析:

这条语句使用了两个通配符,[]和%,方括号内部是个字符集,那么上述SQL语句就是检索cust_contact值为J或M开头的所有字符

输出结果:

1.4 上三角^通配符

提示:这个通配符和NOT操作符功能一样,都是用来否定,那么使用^可以一定程度上简化语句

SQL语句:

SELECT cust_contact 
FROM Customers 
WHERE cust_contact LIKE '[^JM]%'

SQL语句分析:

这条语句意思检索cust_contact不是J或M开头的数据

输出结果:

 


通配符使用技巧:

  • 不要过度使用通配符。如果其他操作符能达到相同的目的,应使用操作符
  • 在确实需要通配符的时候,应尽量不要把他们用在搜索的开始处,这样搜索起来会较慢
  • 应特别注意通配符的位置,如果放错位置,则不会返回正确的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值