文章转自: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) { }