Matching with Wildcards in a SQL Statement

SQL provides wildcard matching of text using the LIKE clause. Here is a SQL statement that uses a LIKE clause and a wildcard character. This SQL statement will find all rows with names that start with Pat.
SELECT * FROM my_table WHERE name LIKE 'Pat%'
There are two wildcard characters available. The underscore (_) matches any character. The percent sign (%) matches zero or more characters.
try { // Create a statement Statement stmt = connection.createStatement(); // Select the row if col_string contains the word pat String sql = "SELECT * FROM my_table WHERE col_string LIKE '%pat%'"; // Select the row if col_string ends with the word pat sql = "SELECT * FROM my_table WHERE col_string LIKE 'pat%'"; // Select the row if col_string starts with abc and ends with xyz sql = "SELECT * FROM my_table WHERE col_string LIKE 'abc%xyz'"; // Select the row if col_string equals the word pat% sql = "SELECT * FROM my_table WHERE col_string LIKE 'pat\\%'"; // Select the row if col_string has 3 characters and starts with p and ends with t sql = "SELECT * FROM my_table WHERE col_string LIKE 'p_t'"; // Select the row if col_string equals p_t sql = "SELECT * FROM my_table WHERE col_string LIKE 'p\\_t'"; // Execute the query ResultSet resultSet = stmt.executeQuery(sql); } catch (SQLException e) { }

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.