我有一个特定于MySQL平台的查询:
$post->published(false)...
我使用了一些特定于MySQL平台的命令,例如SELECT month(from_unixtime(s.date)) AS month, count(s.id) AS blah, s.status
FROM Something s
WHERE s.date between unix_timestamp($blah1) and unix_timestamp($blah2)
GROUP BY s.status, month
,month
和from_unixtime
。
我如何重新编写此查询以使其在Postgres上也能与跨平台兼容?
答案 0 :(得分:1)
假设您正在存储" unix时代"列date
中的值,以下内容应该有效:
SELECT extract(month from to_timestamp(s.date)) AS month,
count(s.id) AS blah,
s.status
FROM Something s
WHERE s.date between to_timestamp($blah1) and to_timestamp($blah2)
GROUP BY s.status, month
带有double(或整数)参数的 to_timestamp()
将unix时期转换为适当的时间戳。
但真正的问题是:为什么你没有使用正确的timestamp
数据类型?