匹配长字符串(完整邮政编码)与mysql中的短字符串(邮政编码开始)

时间:2010-10-15 10:47:40

标签: mysql regex sql-like postal-code

我有一个表格,其中包含邮政编码中的起始字母列表,例如利兹的LS和南安普顿的SO。

我希望将这些与用户输入的完整邮政编码相匹配,例如LS19 1AB。

我已经研究过在我的查询中使用LIKE和一些正则表达式的东西,但我正在努力找到一种方法来正确地进行此操作。

1 个答案:

答案 0 :(得分:1)

你可以转动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)