6.基础-用通配符进行过滤

本文介绍了SQL中使用LIKE操作符结合通配符进行模糊查询的方法。包括百分号(%)匹配任意长度的字符串,下划线(_)匹配单个字符,以及如何高效地使用这些通配符提高查询效率。

LIKE操作符

      前面介绍的,过滤中使用的值都是确定的。但如何搜索名字中包含anvil的产品呢?这个时候就必须使用通配符了。可以利用通配符创建比较特定数据的搜索模式

      通配符:用来匹配值的一部分的特殊字符;

      搜索模式:由字面值,通配符或两者组合构成的搜索条件;

      通配符必须和LIKE配合使用。LIKE指示MySQL,和后面的搜索模式,利用通配符进行匹配,而不是直接相等匹配进行比较;

百分号(%)通配符

      %表示任何字符出现任意次数(包括0次)。

      输入:SELECT prod_id,prod_name
                FROM products

                WHERE  prod_name LIKE 'jet%';

      分析:找出所有以jet开头的产品;

      区分大小写:搜索是可以区分大小写的,即'jet%'和'JetPack'将不匹配;

      输入:SELECT prod_id,prod_name
                FROM products

                WHERE prod_name LIKE '%avil%';

      分析:通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符;

      输入:SELECT prod_id,prod_name
                FROM products

                WHERE prod_name LIKE 's%e';

      分析:通配符可以在搜索模式的中间;

注意尾空格:例如,如果anvi后面有一个或多个空格,则LIKE'%anvil'将不会匹配到它。可以在anvi后面加个%,更好的方法是使用函数去掉空格;

注意NULL:%是匹配不到NULL的。LIKE '%'是匹配不到NULL的;

下划线(_)通配符

       下划线与%用途一样,但下划线只能匹配一个字符;

       输入:SELECT prod_id,prod_name
                 FROM products

                 WHERE prod_name LIKE '_ton anvil';

使用通配符的技巧

       通配符搜索的处理要比前面介绍的更花时间。

       1.不要过度使用通配符,能不用就不用;

       2.如果一定要使用通配符,除非有必要,否则不要把通配符放在搜索模式的开始处。放在开始处,搜索是最慢的;

       3.一定要注意通配符放的位置;   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值