#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.