Mysql的模糊查询

来源:互联网 发布:二维数组动态分配内存 编辑:程序博客网 时间:2024/05/21 10:39
1.数据库查询:select * from user_role

where 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 PLATFORM
        where 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>

0 0
原创粉丝点击