我正在尝试从相对于NOW
的1个月大的表中提取记录。对于具有sql日期的表格,例如:WHERE DocDate>=CURDATE() - INTERVAL 1 MONTH
但是这个表中的日期表示为unix时间戳,这看起来并不简单。到目前为止,我已经测试了以下内容:
SELECT articleviewed, COUNT(articleviewed) AS Viewed, articleviewedtitle, timestampx
FROM swdata.uos_swkb_stats_views
WHERE timestampx <= CURRENT_TIMESTAMP AND timestampx >= 1389004991
GROUP BY articleviewed
ORDER BY Viewed DESC
没关系,但我需要timestampx >= 1389004991
相对于NOW
。
以下结果不正确或语法不正确
WHERE timestampx <= CURRENT_TIMESTAMP AND timestampx >= CURRENT_TIMESTAMP - 1 MONTH
WHERE timestampx <= CURRENT_TIMESTAMP - INTERVAL 1 MONTH
一位同事提供了以下似乎正常工作的解决方案,显然我需要转换/定义时间戳,如下所示。
WHERE timestampx&gt; =(unix_timestamp(CURDATE() - INTERVAL 1 MONTH))
答案 0 :(得分:0)
哪个平台?
Oracle
CURRENT_TIMESTAMP - 1*30
或关注那里
Add 2 months to current timestamp
SELECT current_timestamp - INTERVAL '1' MONTH from dual;