mysql> desc SPAM_INFO;
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| SPAM_SEQ | int(4) | NO | PRI | NULL | auto_increment |
| REGIST_USER | varchar(28) | NO | | | |
| SPAM_CALLER | varchar(28) | NO | | | |
| CONTEXT | varchar(52) | NO | | | |
+-------------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
+--------------+-------------+-------------+----------+
| SPAM_SEQ | REGIST_USER | SPAM_CALLER | CONTEXT |
+--------------+-------------+-------------+----------+
| 1 | 333 | 01182* | 33ㄴㅇㅇ |
| 2 | 33324 | 01028?8307? | 4234234 |
+----------+-------------+-------------+----------+
위와 같이 된 상태에서
*은 그 뒤로 전체를 의미하며, ?는 한자리의 일치 여부를 무시한다고 합니다.
예를 들어
SPAM_CALLER에 01182* 는 01182, 011821, 0118293332 와 일치하게 되고,
01028?8307? 는 01028283071 와 일치하고, 0102818307, 010289830733 와는 일치하지 않습니다.
이런 조건에서 전체 LOW에 대해서 SPAM_CALLER와 비교할 번호가 일치하는지를 SQL문으로 어떻게 만들면 되지요.
물론, 한번의 질의로 전체 LOW를 다 검색하는 방법으로 가능할런지요..
|