我有一個請求表from:string
Rails的,其中來自(串)大於或等於今天
專欄中,我想獲得Request.where("from >= ?", Date.today)
但爲字符串。有沒有辦法在不改變列字符串到datetime的情況下從大於或等於今天獲取所有請求?
我有一個請求表from:string
Rails的,其中來自(串)大於或等於今天
專欄中,我想獲得Request.where("from >= ?", Date.today)
但爲字符串。有沒有辦法在不改變列字符串到datetime的情況下從大於或等於今天獲取所有請求?
如果from
列字符串採用通常的字符串日期格式(例如「2017-01-15」)格式化,那麼只需將Date.today轉換爲字符串即可。字符串排序將自動等同於日期排序。
Request.where("from >= ?", Date.today.to_s)
您還可以將字符串轉換爲SQL中的日期。
Request.where("DATE(from) >= ?", Date.today)
我不認爲這是更好的方式來儘可能雖然改變列類型。將日期存儲爲字符串通常是一個糟糕的主意。
您使用的是什麼RDBMS?您可以使用適當的轉換創建索引,然後查詢索引或在每個查詢上處理強制。 – coreyward
我正在使用postgresql –