REGEXP '^[a-f]' : REGEXP « Regular Expressions « MySQL Tutorial






mysql>
mysql>
mysql> CREATE TABLE Topic(
    ->    TopicID     SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->    Name        VARCHAR(50) NOT NULL,
    ->    InStock     SMALLINT UNSIGNED NOT NULL,
    ->    OnOrder     SMALLINT UNSIGNED NOT NULL,
    ->    Reserved    SMALLINT UNSIGNED NOT NULL,
    ->    Department  ENUM('Classical', 'Popular') NOT NULL,
    ->    Category    VARCHAR(20) NOT NULL,
    ->    RowUpdate   TIMESTAMP NOT NULL
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql>
mysql>
mysql> INSERT INTO Topic (Name,          InStock, OnOrder, Reserved, Department,   Category) VALUES
    ->                   ('Java',          10,      5,       3,        'Popular',    'Rock'),
    ->                   ('JavaScript',    10,      5,       3,        'Classical',  'Opera'),
    ->                   ('C Sharp',       17,      4,       1,        'Popular',    'Jazz'),
    ->                   ('C',             9,       4,       2,        'Classical',  'Dance'),
    ->                   ('C++',           24,      2,       5,        'Classical',  'General'),
    ->                   ('Perl',          16,      6,       8,        'Classical',  'Vocal'),
    ->                   ('Python',        2,       25,      6,        'Popular',    'Blues'),
    ->                   ('Php',           32,      3,       10,       'Popular',    'Jazz'),
    ->                   ('ASP.net',       12,      15,      13,       'Popular',    'Country'),
    ->                   ('VB.net',        5,       20,      10,       'Popular',    'New Age'),
    ->                   ('VC.net',        24,      11,      14,       'Popular',    'New Age'),
    ->                   ('UML',           42,      17,      17,       'Classical',  'General'),
    ->                   ('www.java2s.com',25,      44,      28,       'Classical',  'Dance'),
    ->                   ('Oracle',        32,      15,      12,       'Classical',  'General'),
    ->                   ('Pl/SQL',        20,      10,      5,        'Classical',  'Opera'),
    ->                   ('Sql Server',    23,      12,      8,        'Classical',  'General');
Query OK, 16 rows affected (0.02 sec)
Records: 16  Duplicates: 0  Warnings: 0

mysql>
mysql> select * from Topic;
+---------+----------------+---------+---------+----------+------------+----------+---------------------+
| TopicID | Name           | InStock | OnOrder | Reserved | Department | Category | RowUpdate           |
+---------+----------------+---------+---------+----------+------------+----------+---------------------+
|       1 | Java           |      10 |       5 |        3 | Popular    | Rock     | 2007-07-23 19:09:49 |
|       2 | JavaScript     |      10 |       5 |        3 | Classical  | Opera    | 2007-07-23 19:09:49 |
|       3 | C Sharp        |      17 |       4 |        1 | Popular    | Jazz     | 2007-07-23 19:09:49 |
|       4 | C              |       9 |       4 |        2 | Classical  | Dance    | 2007-07-23 19:09:49 |
|       5 | C++            |      24 |       2 |        5 | Classical  | General  | 2007-07-23 19:09:49 |
|       6 | Perl           |      16 |       6 |        8 | Classical  | Vocal    | 2007-07-23 19:09:49 |
|       7 | Python         |       2 |      25 |        6 | Popular    | Blues    | 2007-07-23 19:09:49 |
|       8 | Php            |      32 |       3 |       10 | Popular    | Jazz     | 2007-07-23 19:09:49 |
|       9 | ASP.net        |      12 |      15 |       13 | Popular    | Country  | 2007-07-23 19:09:49 |
|      10 | VB.net         |       5 |      20 |       10 | Popular    | New Age  | 2007-07-23 19:09:49 |
|      11 | VC.net         |      24 |      11 |       14 | Popular    | New Age  | 2007-07-23 19:09:49 |
|      12 | UML            |      42 |      17 |       17 | Classical  | General  | 2007-07-23 19:09:49 |
|      13 | www.java2s.com |      25 |      44 |       28 | Classical  | Dance    | 2007-07-23 19:09:49 |
|      14 | Oracle         |      32 |      15 |       12 | Classical  | General  | 2007-07-23 19:09:49 |
|      15 | Pl/SQL         |      20 |      10 |        5 | Classical  | Opera    | 2007-07-23 19:09:49 |
|      16 | Sql Server     |      23 |      12 |        8 | Classical  | General  | 2007-07-23 19:09:49 |
+---------+----------------+---------+---------+----------+------------+----------+---------------------+
16 rows in set (0.00 sec)

mysql>
mysql>
mysql> SELECT Name, InStock+OnOrder-Reserved AS Available
    -> FROM Topic
    -> WHERE Name REGEXP '^[a-f]'
    -> ORDER BY Name;
+---------+-----------+
| Name    | Available |
+---------+-----------+
| ASP.net |        14 |
| C       |        11 |
| C Sharp |        20 |
| C++     |        21 |
+---------+-----------+
4 rows in set (0.00 sec)

mysql>
mysql> drop table Topic;
Query OK, 0 rows affected (0.00 sec)








24.10.REGEXP
24.10.1.Characters and classes used by the REGEXP and NOT REGEXP operators (or RLIKE and NOT RLIKE, which are synonyms)
24.10.2.To find names beginning with 'J', use '^' to match the beginning of the name
24.10.3.To matches only lowercase 'b' at the beginning of a name
24.10.4.To find names ending with 'es', use '$' to match the end of the name
24.10.5.To find names containing an 'e', use this query
24.10.6.To find names containing exactly five characters
24.10.7.To find names containing exactly five characters using {n}
24.10.8.SELECT '1+2' REGEXP '1\\+2';
24.10.9.REGEXP '^[a-f]'
24.10.10.REGEXP '^[mn].*[sz]$'