Я думаю, что вы хотите:
WHERE SUBSTRING_INDEX(town, '-', 1) = 'ABBOTSFORD'
Однако я бы порекомендовал написать это как:
WHERE town LIKE 'ABBOTSFORD-%'
Это может фактически использовать индекс.
Кроме того, похоже, что ваши данные могут иметь пробелы вокруг '-'
.Если это так, они также должны быть в строках сравнения.
WHERE SUBSTRING_INDEX(town, ' - ', 1) = 'ABBOTSFORD'
WHERE town LIKE 'ABBOTSFORD -%'
Вы можете повторить SUBSTRING_INDEX()
в SELECT
, чтобы получить только город или число, которое следует за ним.