Я хотел бы сравнить дату, введенную в поле поиска (например, 04.07.2012), с датой из моей таблицы (столбец datetime
под названием date
). Тем не менее, я не могу получить прямой запрос SQL.Как найти даты в PostgreSQL?
Что я пробовал:
find(:all, :conditions => ['\'to_timestamp(date, \'DD Mon YYYY\')\' LIKE \'to_timestamp(?, \'DD Mon YYYY\')\'', '#{query}'])
но он не:
PG::Error: ERROR: syntax error at or near "DD"
LINE 1: ...s".* FROM "projects" WHERE ('to_timestamp(date, 'DD Mon YYY...
^
: SELECT "pacients".* FROM "projects" WHERE ('to_timestamp(date, 'DD Mon YYYY')' LIKE 'to_timestamp('#{query}', 'DD Mon YYYY')')
Я настоящий новичок, насколько (Postgre) SQL обеспокоен, и я был бы очень признателен некоторые намеки в правильное направление написания этого запроса.
Спасибо, миллион!
Обязательно ознакомьтесь с разницей между [типами данных 'timestamp' и' date'] (http://www.postgresql.org/docs/current/interactive/datatype-datetime.html) в PostgreSQL. –