Соответствие длинной строке (полный почтовый индекс) снова короткой строке (начало почтового индекса) в MySQL - PullRequest
1 голос
/ 15 октября 2010

У меня есть таблица, которая содержит список начальных букв в почтовом индексе, например LS для Лидса и SO для Саутгемптона.

Я хочу сопоставить их с введенным пользователем полным почтовым индексом, например, LS19 1AB.

Я рассмотрел использование LIKE и некоторые регулярные выражения в своем запросе, но я изо всех сил пытаюсь найти способ сделать это правильно.

1 Ответ

1 голос
/ 15 октября 2010

Вы можете перевернуть предложение 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...