Mysql的模糊查询
1.数据库查询:select * from user_rolewhere ROLE_NAME LIKE '_i%'
2.concat函数理解:
SQL CONCAT函数用于将两个字符串连接起来,形成一个单一的字符串。试试下面的例子:
SQL> SELECT ConCAT('FIRST ', 'SECOND');+----------------------------+| ConCAT('FIRST ', 'SECOND') |+----------------------------+| FIRST SECOND |+----------------------------+1 row in set (0.00 sec)
想要更详细了解CONCAT函数,考虑EMPLOYEE_TBL的表具有以下记录:
SQL> SELECT * FROM employee_tbl;+------+------+------------+--------------------+| id | name | work_date | daily_typing_pages |+------+------+------------+--------------------+| 1 | John | 2007-01-24 | 250 || 2 | Ram | 2007-05-27 | 220 || 3 | Jack | 2007-05-06 | 170 || 3 | Jack | 2007-04-06 | 100 || 4 | Jill | 2007-04-06 | 220 || 5 | Zara | 2007-06-06 | 300 || 5 | Zara | 2007-02-06 | 350 |+------+------+------------+--------------------+7 rows in set (0.00 sec)
现在,假设根据上述表要连接名员工ID和work_date,那么你可以使用下面的命令:
SQL> SELECT ConCAT(id, name, work_date) -> FROM employee_tbl;+-----------------------------+| ConCAT(id, name, work_date) |+-----------------------------+| 1John2007-01-24 || 2Ram2007-05-27 || 3Jack2007-05-06 || 3Jack2007-04-06 || 4Jill2007-04-06 || 5Zara2007-06-06 || 5Zara2007-02-06 |+-----------------------------+7 rows in set (0.00 sec)3.
<select id="queryList" resultMap="PlatFormResultMap">select * from PLATFORMwhere 1=1<if test="name !=null and name !=''">and name like ConCAT('%',#{name},'%' )</if><if test="limit != null and limit!='' and limit != 0">limit #{start},#{limit}</if></select>