Задать вопрос
@Hellows

Как сделать поиск по числу в БД?

Привет.
Нужно сделать запрос на поиск по всем полям в таблице, но я столкнулся с поиском по числам. Смысл в том, чтобы при вводе числа выводились записи, где встречается это число. Подобие LIKE, но для чисел этот оператор не работает. Выбиваем ошибку, что для типа integer нельзя применить.
with DataModule2.ADOQuery1 do
    begin
        SQL.Clear;
        SQL.Add('SELECT i.*, p.name AS name_prod, f_t.name AS furn_type');
        SQL.Add('FROM items as i ');
        SQL.Add('JOIN producers as p ON i.producer_id = p.id_producer');
        SQL.Add('JOIN furniture_type as f_t ON i.furniture_type_id = f_t.id_furniture');
        SQL.Add('WHERE UPPER(i.name) LIKE upper(''%' + search.Text + '%'')' + ' OR ');
        SQL.Add('UPPER(p.name) LIKE upper(''%' + search.Text + '%'')' + ' OR ');
        SQL.Add('UPPER(f_t.name) LIKE upper(''%' + search.Text + '%'')' + ' OR ');
        Open;
    end;

Числовой тип(integer) имеют поля quantity и price
93323b31d5314693a9c6b10867cff860.png
  • Вопрос задан
  • 451 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
можешь поморочиться как-то так
можешь цены сразу держать в varchar а сравнивать больше меньше через умножить - это попроще чем конверт обратный
where (a*1)>10

но вообще - если у тебя с числами и ценами возник такой вопрос - что-то не так делаешь (без обид - по-идиотски), или не так ставишь задачу, или не так решаешь
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы