2013-11-21 82 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在视图层中使用? –