~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to docs/functions/string/comparative.rst

string additions

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
LIKE            
5
5
----
6
6
 
7
 
Returns values that match a simple pattern
8
 
 
9
 
The LIKE operator is used to check if field values match a specified pattern, and searches for less-than-exact but similar values. The LIKE operator supports the use of two wildcards:
 
7
The LIKE operator is used to check if field values match a specified pattern, and searches for less-than-exact but similar values.
 
8
 
 
9
An initial example is: ::
 
10
 
 
11
        SELECT 'ä' LIKE 'ae' COLLATE latin1_german2_ci;
 
12
 
 
13
Returns 0
 
14
 
 
15
Whereas ::
 
16
 
 
17
        SELECT 'ä' = 'ae' COLLATE latin1_german2_ci;
 
18
 
 
19
Returns 1
 
20
 
 
21
The LIKE operator supports the use of two wildcards. (Wildcards provide more flexibility by allowing any character or group of characters in a string to be acceptable as a match for another string):
10
22
 
11
23
    * Percentage (%): Represents zero or more values.
12
 
    * Underscore (_): Represents exactly one value.
13
 
 
14
 
The following SELECT statement includes a WHERE clause expression that searches for film_title that start with "FARGO", by using the percentage wildcard after the lookup value.
 
24
    * Underscore (_): Matches exactly one character value.
 
25
 
 
26
In accordance the SQL standard, LIKE performs matching on a per-character basis. It therefore provides results different from the = comparison operator.
 
27
 
 
28
The following SELECT statement includes a WHERE clause in order to search for job titles that start with "DIRECTOR", by using the percentage wildcard after the lookup value.
15
29
 
16
30
For example: ::
17
31
 
18
 
        SELECT title, category_name
19
 
        FROM film_detail
20
 
        WHERE title LIKE 'FARGO%'
21
 
        ORDER BY category_name, title;
 
32
        SELECT title, field
 
33
        FROM job_detail
 
34
        WHERE title LIKE 'DIRECTOR%'
 
35
        ORDER BY field, title;
22
36
 
23
37
 
24
38
REGEXP
45
59
 
46
60
SELECT 'abcabc' REGEXP 'ABC', 'abcabc' REGEXP BINARY 'ABC';
47
61
 
 
62
 
 
63
STRCMP()
 
64
--------
 
65
The purpose of STRCMP is also to compare two strings. This function returns 0 if two strings are the same, -1 if the first argument is smaller than the second according to the current sort order, and 1 otherwise.