Sqlite 到 Postgres (Heroku) 日期/时间

标签 sql ruby-on-rails-3 sqlite postgresql heroku

在 Heroku (postgres) 上将 Rails 3 应用程序插入生产环境时出现错误,而在本地 (sqlite) 代码工作正常 - 我查看了 Postgres 手册但无济于事:

我的代码:

(strftime('%s','now') - strftime('%s', posts.created_at)

错误:

LINE 1: SELECT posts.*, ((strftime('%s','now') -...
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

最佳答案

在 PostgreSQL 中没有函数 strftime。要计算日期之间的秒数,您可以使用:

SELECT extract(epoch from now() - posts.created_at);

同样重要的是要注意在 PostgreSQL 中你有区间数据类型,所以如果你只是减去 (now() - posts.created_at) 它会为你返回一个很好的区间类型,它可以很容易地用 to_char 格式化。

关于Sqlite 到 Postgres (Heroku) 日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5566530/

相关文章:

sql - SQL 中的 SUM 列

mysql - 错误 1215 : cannot add foreign key contraint

ruby-on-rails - Controller 中的实例变量如何可用于 Rails 中的 View

python - 如何使用 Python 从 Sqlite 数据库中提取正确的数据?

sql - 让mysql在连续范围内重新分配id

ruby-on-rails - 测量多线程环境中线程的执行时间

ruby-on-rails - 重定向 Rails 3 中特定 Controller 的记录器输出

javascript - 我们可以在 Java 脚本中打开 2 个表以在 PHONE GAP 域中工作吗

javascript - 需要将 javascript 值传递到 html 格式的建议,这样我就可以显示正确答案的成绩屏幕而不是 'document.write'

sql - 获取从开始到结束日期范围(包括边界)之间的事件行