1. sql中字符串拼接
SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');
2. 使用 ${...} 代替 #{...}
SELECT * FROM tableName WHERE name LIKE '%${text}%';
3. 程序中拼接
Java
// String searchText = "%" + text + "%";String searchText = new StringBuilder("%").append(text).append("%").toString();
parameterMap.put("text", searchText);
SqlMap.xml
SELECT * FROM tableName WHERE name LIKE #{text};
4. 大小写匹配查询
SELECT * FROM TABLENAME WHERE UPPER(SUBSYSTEM) LIKE '%' || UPPER('jz') || '%'
或者
SELECT * FROM TABLENAME WHERE LOWER(SUBSYSTEM) LIKE '%' || LOWER('jz') || '%'
SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符如下:
1、% 替代一个或多个字符
2、_ 仅替代一个字符
3、[charlist] 字符列中的任何单一字符
4、[^charlist]或者[!charlist] 不在字符列中的任何单一字符
以图中表格为例,说明一下各通配符用法
1、 查询居住在以 "Ne" 开始的城市里的人:
SELECT * FROM Persons WHERE City LIKE 'Ne%'
2、查询居住在包含 "lond" 的城市里的人:
SELECT * FROM Persons WHERE City LIKE '%lond%'
3、查询名字的第一个字符之后是 "eorge" 的人:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'
4、查询记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'
5、查询居住的城市以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE '[ALN]%'
6、查询居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM Persons WHERE City LIKE '[!ALN]%'
他的博客蛮好的 www.cnblogs.com/zhming26/