リーズの場合は LS、サウサンプトンの場合は SO など、郵便番号の開始文字のリストを含むテーブルがあります。
これらを、ユーザーが入力した完全な郵便番号 (LS19 1AB など) と照合したいと考えています。
クエリで LIKE といくつかの正規表現を使用することを検討しましたが、これを正しい方法で行う方法を見つけるのに苦労しています。
リーズの場合は LS、サウサンプトンの場合は SO など、郵便番号の開始文字のリストを含むテーブルがあります。
これらを、ユーザーが入力した完全な郵便番号 (LS19 1AB など) と照合したいと考えています。
クエリで LIKE といくつかの正規表現を使用することを検討しましたが、これを正しい方法で行う方法を見つけるのに苦労しています。
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)