postgresql - PostgreSQL 中的 DATE ADD 函数
问题描述
我目前在 Microsoft SQL Server 中有以下代码,以获取连续两天查看的用户。
WITH uservideoviewvideo (date, user_id) AS (
SELECT DISTINCT date, user_id
FROM clickstream_videos
WHERE event_name ='video_play'
and user_id IS NOT NULL
)
SELECT currentday.date AS date,
COUNT(currentday.user_id) AS users_view_videos,
COUNT(nextday.user_id) AS users_view_next_day
FROM userviewvideo currentday
LEFT JOIN userviewvideo nextday
ON currentday.user_id = nextday.user_id AND DATEADD(DAY, 1,
currentday.date) = nextday.date
GROUP BY currentday.date
我试图让 DATEADD 函数在 PostgreSQL 中工作,但我一直无法弄清楚如何让它工作。有什么建议么?
解决方案
我不认为 PostgreSQL 真的有 DATEADD 功能。相反,只需执行以下操作:
+ INTERVAL '1 day'
SQL 服务器:
当前日期加 1 天 2012 年 11 月 21 日
SELECT DATEADD(day, 1, GETDATE());
# 2012-11-22 17:22:01.423PostgreSQL:
当前日期加 1 天 2012 年 11 月 21 日
SELECT CURRENT_DATE + INTERVAL '1 day';
# 2012-11-22 17:22:01
SELECT CURRENT_DATE + 1;
# 2012-11-22 17:22:01
http://www.sqllines.com/postgresql/how-to/dateadd
编辑:
如果您使用动态时间长度来创建字符串,然后将其转换为如下间隔,这可能会很有用:
+ (col_days || ' days')::interval
推荐阅读
- php - 在php中上传rtf文件
- sdk - 我如何在 VSCode 上更改我的 dart-sdk
- java - 无法使用按钮打开另一个包内的包(模块)
- javascript - 加入前两个元素并创建新数组?
- statistics - 两组基因表达分析
- dart - 如何使用文本在一行中显示 LinearProgressIndicator
- html - 使用 html5 地理位置的网页不如 Google Map 准确?
- javascript - 如何在 Google Apps 脚本中向 UrlFetchApp 添加 API 密钥
- python - log is not writing into file
- javascript - React js如何触发另一个div的事件