Mybatis's like fuzzy query for Oracle, SQL Server, MySQL, and DB2

Oracle

SELECT
	*
FROM
	user
WHERE
	name LIKE CONCAT(CONCAT('%',#{
    
    name},'%'))


SELECT
	*
FROM
	user
WHERE
	name LIKE '%' || #{
    
    name} || '%'

SQL Server

SELECT
	*
FROM
	user
WHERE
	name LIKE '%'+#{
    
    name}+'%'

MySQL

SELECT
	*
FROM
	user
WHERE
	name LIKE CONCAT('%',#{
    
    name},'%')

DB2

SELECT
	*
FROM
	user
WHERE
	name LIKE CONCAT('%',#{
    
    name},'%')
	

SELECT
	*
FROM
	user
WHERE
	name LIKE '%'||#{
    
    name}||'%'

Universal

SELECT
	*
FROM
	user
WHERE 1 = 1
<if test="name != null and name != ''">
	<bind name="pattern" value="'%' + _parameter.name + '%'" />
	AND name LIKE #{
    
    pattern}
</if>

Guess you like

Origin blog.csdn.net/qq_49641620/article/details/133387475