文章转自:http://www.dev26.com/blog/article/187
在sql中提供了匹配像like这样的通配符来匹配一些特殊文本,比如以下SQL查找name以pat开头的所有数据行:
SELECT * FROM my_table WHERE name LIKE 'Pat%'
其中还有两个其它字符:下划线(_)匹配任何字符,百分号(%)匹配0个或多个字符:
try {
// 首先创建一个 statement对象
Statement stmt = connection.createStatement();
// 查询包含pat字符的数据行
String sql = "SELECT * FROM my_table WHERE col_string LIKE '%pat%'";
// 查询以pat开头数据行
sql = "SELECT * FROM my_table WHERE col_string LIKE 'pat%'";
// 查询以abc开头和以xyz结尾的数据
sql = "SELECT * FROM my_table WHERE col_string LIKE 'abc%xyz'";
// 查询列值等于pat%的行
sql = "SELECT * FROM my_table WHERE col_string LIKE 'pat\\%'";
// 查询col_string列有三个字符并且以P开头t结尾中间可以是任意字符,
sql = "SELECT * FROM my_table WHERE col_string LIKE 'p_t'";
// 要 p_t则需要把下划线(_)进行转义来匹配
sql = "SELECT * FROM my_table WHERE col_string LIKE 'p\\_t'";
// Execute the query
ResultSet resultSet = stmt.executeQuery(sql);
} catch (SQLException e) {
}