2013-11-21 104 views
2

的strftime我SQLite數據庫遷移到Postgres的開發服務器上後,我得到的相當於Postgres的

PG::UndefinedFunction: ERROR: function strftime(unknown, date) does not exist 

有沒有我可以用它來保存在我的應用程序的功能的功能?

編輯:嘗試使用to_char但悲慘失敗。特別是,我不明白如何在建設中實施它,如

def self.query_by_year_month(y, m) 
    where("strftime('%Y', date) = ? and strftime('%m', date) = ?", y, m) 
end 

謝謝!

回答

5

看起來它是一個偉大的時刻開始學習SQL!使我的方法使用以下代碼工作:

def self.query_by_year_month(y, m) 
    where("extract(year from date) = ? and extract(month from date) = ?", y, m) 
    end 
+1

它總是*開始學習SQL的好時機! –

+0

一方面,您可能會從該WHERE子句獲得順序掃描。另一方面,你可以學習更多的SQL! –

3

你最好的選擇可能是to_char()

一個替代方案是實現的strftime()作爲一個用戶定義的功能的行爲。 (名爲 「strftime的」,當然。)

+0

可以to_char在視圖層中使用? –