MySQL: частичный поиск соответствия в диапазоне двух столбцов

#mysql

#mysql

Вопрос:

Я пытаюсь выбрать из таблицы, где значение находится между двумя столбцами, с частичным совпадением. Вот набор данных:

 start_num    end_num
 180000       180099
  

Я могу получить строку с:

 SELECT *
FROM table 
WHERE 180000
BETWEEN `start_num` 
AND IFNULL(`end_num`, `start_num`)
  

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

Есть идеи?

Комментарии:

1. Частичное совпадение с just start_num ? или с end_num также?

2. Действительно, любое частичное совпадение в этом диапазоне от 180000 до 180099. Приведенное выше утверждение находит строку для всего, что находится между диапазоном (т. Е. работает 180050), поэтому частичное совпадение должно выполняться только до тех пор, пока оно не достигнет start_num . Для контекста я буду выполнять поиск на основе вызова API, где минимальное количество цифр для поиска будет равно 4.