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

Можно ли в mysql искать значения в полях varchar если передано int значение?

Допустим есть таблица с полем uid VARCHAR(20). Это значит, что uid записей могут выглядеть так: "123","abcd","456" ....

Если мы сделаем запрос select * from table where uid="123" - то все будет ок, а если select * from table where uid=123 - то получим ошибку, т.к. тип данных у нас не соответствует полю. Понятно что нужно где-то перед запросом сделать приведение типа к строке, но все же, теоретически, существует что-то универсальное для такого случая? (regexp, like - не в счет!)
  • Вопрос задан
  • 290 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
qonand
@qonand
Software Engineer
привести на строне mysql?
SELECT * FROM offers WHERE `name` = CONVERT(123, char)

хотя если не ошибаюсь то MySQL при запросе
select * from table where uid=123
не выдаст ошибку, а найдет записи. Правда если у Вас записи будут вида "123", "123abcd", "456" то он вернет две записи и "123" и "123abcd",
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@shagguboy
сделать приведение типа к строке

запрос - это строка, там других типов нет. если поставить кавычки - mysql будет считать это строкой. если нет - то нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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