@MasterCopipaster

Как составить запрос в mysql для поиска диапазона между текстом?

Помогите составить запрос для такого поля
`cca` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,

Там содержимое в колонке текстовое с диапазонами через -

|cca |
|-------|
|360-530|
|360-600|
|360-530|
|360-530|
|360-530|

Я хочу поискать по этой колонки строку в которой диапазон лежит между 360 и 530
Тоесть должен получить все кроме второй записи - но не знаю как составить запрос для поиска в текстовом поле помогите пожалуйста.
Да изменять тип колонки нельзя.
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
@Omar2002
Можно через хранимую функцию - что-то типа такого:
drop function if exists checkRange;
 
DELIMITER //
 
CREATE FUNCTION checkRange(strRange varchar, from int, to int) RETURNS bool
   DETERMINISTIC
BEGIN
    DECLARE left INT;
    DECLARE right INT;
   
    SELECT strRange REGEXP ... INTO left
 
    SET result = ...;
 
    RETURN (result); 
END//
 
DELIMITER ;

....

SELCET * FROM table WHERE checkRange(randeColumn, 360, 530)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы