模糊查询中Like的使用

    xiaoxiao2021-12-14  48

    引言:

        小编最近做了模糊查询的功能,在用mysql语句进行查询时用到了Like关键字,虽然只是一个简单的单词,也是经历了一些小波折,因此把Like的用法都总结一下,方便下次使用,也希望对读者有所帮助。

    通配符:

      %、 _

     %:表示任意个或多个字符。可匹配任意类型和长度的字符

     _:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)

    demo:

    //username中以“晓”字结尾的名字 select * from user where username like '%晓'; //username中以“晓”字开头的名字 select * from user where username like '晓%'; //username中包含“晓”字的名字 select * from user where username like '%晓%'; //username中既包含“晓”又包含“如”的名字 select * from user where username like '%晓%' and username like '%如%' 注意:%位置代表的任意个字符

    如果有字数限制,我们可以用"_","_"代表的是单个字符

    //username中以“晓”字结尾并且是两个字的名字 select * from user where username like '_晓'; //username中以“晓”字开头并且是两个字的名字 select * from user where username like '晓_'; //username中包含“晓”字并且是三个字的名字 select * from user where username like '_晓_'; 在以某个字符开头和结尾查询时也可以用"*" //username中以“晓”字结尾的名字 select * from user where username like '*晓'; //username中以“晓”字开头的名字 select * from user where username like '晓*'; //查询name字段中含有数字的。 select * from table1 where name like '%[0-9]%' //查询name字段中含有小写字母的。 select * from table1 where name like '%[a-z]%' //查询name字段中不含有数字的。 select * from table1 where name like '%[!0-9]%' 说了一大堆查询语句,like匹配的都是一些常量,如果匹配的是我们传进去的一个变量,怎么办那……往下瞅,哈哈

    使用concat函数(把参数转化成字符串):

    select * from t_user where passWord like concat('%',@passWord,'%') 嗒嘀嗒,解决了……

    总结:

        越是基础的东西掌握地越不牢,当时都没有想到like关键字,慢慢积累吧!

    转载请注明原文地址: https://ju.6miu.com/read-970601.html

    最新回复(0)