mysql concat函数进行模糊查询

concat() 函数,是用来连接字符串。

精确查询: select * from user where name=”zhangsan” 
模糊查询; select * from user where name like “%zhang%”

在实际的使用中,条件是作为参数传递进来的。 所以我们使用 concat() 函数

mybatis: 
select * from user where name like concat(“%”, #{name},”%”)

原生SQL:

case when ?1 is null then 1=1 else name like CONCAT(‘%‘,?1,‘%‘) END 

concat(str1,str2,str3,str4,……….); 连接字符串函数,会生成一个字符串 

时间: 2024-10-12 23:02:26

mysql concat函数进行模糊查询的相关文章

MySQL concat函数的使用

MySQL concat函数是MySQL数据库中众多的函数之一,下文将对MySQL concat函数的语法和使用进行说明,供您参考和学习. MySQL concat函数使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串. 一个数字参数被转化为与之相等的二进制字符串格式:若要避免这种情况,

工作问题总结一:由数据查询慢来浅谈下oracle中的like和instr函数的模糊查询效率问题

今天上午10点左右,boss告诉我们生产环境一客户在某功能下录入信息时,出现加载数据很慢的情况,因为严重影响了客户使用,就让我们赶紧查实原因,组长和我就根据领导提供的用户登录系统,找到出问题的那个功能,选择买方和银行信息后加载限额信息时组长的电脑出现的反应是浏览器卡死,我的电脑上是去趟厕所回来坐下来之后才加载出来,我靠3分钟左右的时间,崩溃!!!  赶紧查代码  经查询代码发现,加载的数据是从千万量级(有2321w余条)的表中查询,查询语句中使用了like操作符,经研究发现确实是因为查询的sql

mysql 常用函数以及常见查询语句

MySQL 常用函数 1.数据库中取昨天的日期 mysql> select date_sub(current_date(),interval 1 day); +-----------------------------------------+ | date_sub(current_date(),interval 1 day) | +-----------------------------------------+ | 2016-01-11                           

mysql CONCAT()函数

mysql CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一,下面就将为您详细介绍mysql CONCAT()函数,供您参考 mysql CONCAT(str1,str2,-)                        返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL.或许有一个或多个参数. 如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串.一个数字参数被转

SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。

top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 order by用在表名的后面 order by后面就填你要按它排序的字段,是升序排序(从小到大排序) percent:百分比 %=percent 比如要显示5%的数据处理,不能写top 5%,而是top 5 percent 提示:如果top 5 percent出来的数是3.1条数据的话,是取四条数据,而不

MYsql系统函数和联合查询

函数是SQL里的关键字,用于对字段里的数据进行操作.函数是一个命令,通常与字段名称或者是表达式联合使用,处理输入的数据并产生结果 常用函数 控制函数 字符串函数 数学函数 日期时间函数 汇总函数 CASE SUBSTRING ABS DATEDIFF AVG IF LEFT FLOOR DATE_ADD COUNT NULLIF LENGTH RAND STR_TO_DATE MAX IFNULL LOWER   DATE_FORMAT MIN   REPLACE     SUM   CONCA

Mysql中的like模糊查询

MySql的like语句中的通配符:百分号.下划线和escape %代表任意多个字符 _代表一个字符 escape,转义字符后面的%或_,使其不作为通配符,而是普通字符匹配 数据库数据如下: 1.查找名字中以Lucy的字段 查询语句: select * from `user` where name like 'Lucy%' 结果: 2.查询名字是“Lucy”开头且后面只有一个字符的字段 查询语句: select * from `user` where name like 'Lucy_' 查询结果

mysql根据下划线模糊查询

每天进步一点点! 如图:注意没有百分号% 两个下划线: 三个下划线: 相关: %代表任意多个字符  _代表一个字符 在 MySQL中,SQL的模式缺省是忽略大小写的 _:表示任意单个字符.匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符) 参考: http://blog.csdn.net/my2010sam/article/details/19109235

Node.js和mybatis分别实现mysql中like变量模糊查询

<!-- mybatis --> <where> <if test="varName != '' and varName != null" > var_name like '%${varName}%' </if> </where> //node 变量 if (data.varName && data.varName != '') { sql += " where var_name like '%&qu