Один из способов сделать это - использовать REGEXP
и определить шаблон, который соответствует только ship_postcode
, которые начинаются с одной из вышеупомянутых последовательностей символов почтового индекса Лондона:
SELECT *
FROM tt_order_data
WHERE UPPER(TRIM(ship_postcode)) REGEXP '^(E|EC|N|NW|SE|SW|W|WC|BR|CR|DA|EN|HA|IG|SL|TN|KT|RM|SM|TW|UB|WD|CM)'
DB Fiddle | Regex101
Важно помнить, что вам все равно потребуется выполнить очистку некоторого объема данных, если входные данные не контролировались должным образом, поскольку этому фильтру будут соответствовать недопустимые почтовые индексы. (например, E1 7AA
допустимо, но этот фильтр также будет рассматривать строку типа ERGO
также действительной).
Кстати, я не совсем уверен, как это будет работать с вашими спецификациями c набор данных в масштабе, но если это для разового упражнения, то он должен идеально соответствовать вашим потребностям.