1

リーズの場合は LS、サウサンプトンの場合は SO など、郵便番号の開始文字のリストを含むテーブルがあります。

これらを、ユーザーが入力した完全な郵便番号 (LS19 1AB など) と照合したいと考えています。

クエリで LIKE といくつかの正規表現を使用することを検討しましたが、これを正しい方法で行う方法を見つけるのに苦労しています。

4

1 に答える 1

2

where句を逆にして、いくつかの文字列操作のトリックを行うことができます:

create table post_codes(
  post_code varchar(32)
);


mysql> insert into post_codes values("AS");
Query OK, 1 row affected (0.00 sec)

mysql> insert into post_codes values("LS");
Query OK, 1 row affected (0.00 sec)

mysql> select post_code from post_codes where 'LS19 1AB' like CONCAT(post_code,'%');
+-----------+
| post_code |
+-----------+
| LS        |
+-----------+
1 row in set (0.00 sec)
于 2010-10-15T10:59:45.003 に答える