SQL: LIKE
Condition
The SQL LIKE
condition allows you to use wildcards in the SQL
WHERE clause of an SQL statement. This allows you to perform
pattern matching. The SQL LIKE condition can be used in any valid SQL statement
- SQL SELECT statement, SQL
INSERT statement, SQL
UPDATE statement, or SQL
DELETE statement.
The patterns
that you can choose from are:
·
% allows you to match any
string of any length (including zero length)
·
_ allows you to match on
a single character
SQL LIKE
Condition - Using % wildcard example
Let's explain
how the % wildcard works in the SQL LIKE condition. We are going to try to find
all of the suppliers whose name begins with 'Hew'.
SELECT * FROM suppliers
WHERE supplier_name like 'Hew%';
You can also
using the % wildcard multiple times within the same string. For example,
SELECT * FROM suppliers
WHERE supplier_name like '%bob%';
In this SQL
LIKE condition example, we are looking for all suppliers whose name contains
the characters 'bob'.
You could
also use the SQL LIKE condition to find suppliers whose name does not start with 'T'.
For example:
SELECT * FROM suppliers
WHERE supplier_name not like 'T%';
By placing
the not keyword in
front of the SQL LIKE condition, you are able to retrieve all suppliers whose
name does not start with
'T'.
SQL LIKE Condition - Using _
wildcard example
Next, let's
explain how the _ wildcard works in the SQL LIKE condition. Remember that the _
is looking for only one character.
For example:
SELECT * FROM suppliers
WHERE supplier_name like 'Sm_th';
This SQL LIKE
condition example would return all suppliers whose name is 5 characters long,
where the first two characters is 'Sm' and the last two characters is 'th'. For
example, it could return suppliers whose name is 'Smith', 'Smyth', 'Smath',
'Smeth', etc.
Here is
another example:
SELECT * FROM suppliers
WHERE account_number like '12317_';
You might
find that you are looking for an account number, but you only have 5 of the 6
digits. The example above, would retrieve potentially 10 records back (where
the missing value could equal anything from 0 to 9). For example, it could
return suppliers whose account numbers are:
123170,
123171, 123172, 123173, 123174, 123175, 123176, 123177, 123178, 123179
SQL LIKE Condition - Using Escape
Characters example
Next, in
Oracle, let's say you wanted to search for a % or a _ character in the SQL LIKE
condition. You can do this using an Escape character.
Please note
that you can only define an escape character as a single character (length of
1).
For example:
SELECT * FROM suppliers
WHERE supplier_name LIKE '!%' escape '!';
This SQL LIKE
condition example identifies the ! character as an escape character. This
statement will return all suppliers whose name is %.
Here is
another more complicated example using escape characters in the SQL LIKE
condition.
SELECT * FROM suppliers
WHERE supplier_name LIKE 'H%!%' escape '!';
This SQL LIKE
condition example returns all suppliers whose name starts with H and ends in %.
For example, it would return a value such as 'Hello%'.
You can also
use the escape character with the _ character in the SQL LIKE condition.
For example:
SELECT * FROM suppliers
WHERE supplier_name LIKE 'H%!_' escape '!';
This SQL LIKE
condition example returns all suppliers whose name starts with H and ends in _.
For example, it would return a value such as 'Hello_'.
No comments:
Post a Comment