SQL必知必会-06

使用通配符进行过滤

like操作符

在实际开发过程中,对已知的值进行过滤,可能满足不了开发的需求,例如需要查询产品名包含某个字符的行,简单的操作符是不行的。这时就需要使用like和通配符了。

什么是通配符?

用来匹配值的一部分的特殊字符。也就是可以代替任何字符的符号(万能牌)

ps:通配符只能搜索文本字段也就是字符串,非文本字段不能使用通配符搜索。

百分号(%)通配符

%表示任何字符出现任意次数。

eg:select prod_id, prod_name from products where prod_name like 'fish%';查询prod_name字段中以fish开头的行。

通配符可以在搜索模式中的任意位置使用。

eg:select prod_id, prod_name from products where prod_name like '%bean%';查询prod_name字段中包含bean的行。

ps:%代表搜索模式中给定位置的0,1或多个字符。

下划线(_)通配符

它的作用和%一样,但是它只能匹配单个字符。不能多也不能少。

ps:DB2不支持通配符_.

方括号([])通配符

方括号([])通配符用来指定一个字符集,它必须匹配指定位置的一个字符。

eg:select cust_contact from customers where cust_contact like '[JM]%' order by cust_contact;  查询[JM]匹配方括号中任意一个字符和%匹配的任意数目的字符的行

使用通配符的技巧

使用通配符时,会比其他搜索消耗的时间更长。所以有一些使用技巧需要注意一下。

1、不要过度使用通配符。同过其他操作符可以达到相同的目的,应该使用其他操作符。

2、在确定需要使用通配符时,不要把他们使用搜索模式中的开头处。这样是最慢的。

3、需要注意通配符的位置,放错位置可能会得到错误的数据。

 

 

转载于:https://www.cnblogs.com/sunshine-2018/p/11444807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值