패턴 매칭

Database/Mysql 2007. 2. 7. 21:39
패턴 매칭

SQL 패턴은 디폴트로 대소문자를 구분하지 않는다.
SQL 패턴을 사용할 때에 = 또는 <> 대신에 LIKE 또는 NOT LIKE 를 사용해야 한다.
mysql> SELECT *
  -> FROM pet
  -> WHERE name LIKE 'n%';
+------+-------+---------+------+------------+-------+
| name | owner | species | sex  | birth      | death |
+------+-------+---------+------+------------+-------+
| Nabi | Hong  | hamster | f    | 2006-12-31 | NULL  |
+------+-------+---------+------+------------+-------+

1 row in set (0.00 sec)
- 'name' 필드에 'n'으로 시작하는 레코드의 모든 필드를 선택한다.
- LIKE '%n' 이라면 'n'으로 끝나는 레코드, LIKE '%n%' 이라면 값 안에 'n'이 들어가 있는 레코드의 모든 필드를 선택한다.

mysql> SELECT *
  -> FROM pet
  -> WHERE name LIKE '____';
+------+-------+---------+------+------------+-------+
| name | owner | species | sex  | birth      | death |
+------+-------+---------+------+------------+-------+
| Nabi | Hong  | hamster | f    | 2006-12-31 | NULL  |
| Hoya | Chan  | rabbit  | m    | 2006-10-31 | NULL  |
+------+-------+---------+------+------------+-------+

2 rows in set (0.00 sec)
- 'name' 필드에 정확히 4개의 문자로 되어 있는 값('____')의 모든 레코드를 선택한다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,