2017-01-15 2 views
0

У меня есть таблица запроса с колонкой from:stringRails, где из (строки) больше или равно сегодня

Я хотел бы получить Request.where("from >= ?", Date.today) но из строка. Есть ли способ получить весь запрос, где от большего или равного сегодняшнему, без изменения строки столбца в datetime?

+0

Какие СУБД вы используете? Вы можете создать индекс с соответствующим преобразованием, затем запросить индекс или обработать ваше принуждение по каждому запросу. – coreyward

+0

Я использую postgresql –

ответ

0

Если строка столбца from отформатирована в обычном формате строковой даты (например, «2017-01-15»), тогда просто преобразуйте Date.today в строку. Строковое упорядочение будет автоматически эквивалентно порядку даты.

Request.where("from >= ?", Date.today.to_s) 
1

Вы также можете преобразовать строку в дату в SQL.

Request.where("DATE(from) >= ?", Date.today)

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

Смежные вопросы