Pav*_*eva 4 sql snowflake-cloud-data-platform
当我尝试减去时间戳并执行窗口函数(lead、lag和partition by)时,出现此错误:
函数“-”的参数类型无效:(TIMESTAMP_NTZ(9)、TIMESTAMP_NTZ(9))
尝试过date_diff,但这不能与窗口函数一起使用
SELECT
user_id,
event,
received_at,
received_at - LAG( received_at,1) OVER (PARTITION BY user_id ORDER BY received_at) AS last_event
FROM
segment_javascript.help_center_opened
Run Code Online (Sandbox Code Playgroud)
您不能通过仅减去两个日期来获得数字来通过“Oracle 方式”来完成此操作,您必须使用带有度量单位/比例的 diff 函数,例如:
SELECT
ts,
TIMESTAMPDIFF(MILLISECONDS, LAG(ts, 1) OVER (ORDER BY ts), ts) tsd
FROM
(VALUES (CURRENT_TIMESTAMP), (DATEADD(DAY, 1, CURRENT_TIMESTAMP))) v(ts);
Run Code Online (Sandbox Code Playgroud)