Bil*_*yfm 1 sql datetime amazon-redshift
在我的 Redshift 表中,我有 2 列存储时间戳值:start_date_time 和 end_date_time。
我需要找到start_date_time 和 end_date_time之间的差异,这样,如果差异为 1 天,则结果应为 1。如果 diff 为 12 小时,则结果应为 0.5,如果 diff 为 8 小时 - 则结果应为 0.3333 等。
我怎样才能做到这一点?我尝试使用 datediff 函数:但这不会返回我想要的:
select datediff(day,'2011-12-31 8:30:00','2011-12-31 20:30:00') as day_diff;
Run Code Online (Sandbox Code Playgroud)
结果是 0。但我需要 0.5,因为相差 12 小时。
那么就以小时为单位除以24.0?
DATEDIFF(HOUR,'2011-12-31 8:30:00','2011-12-31 20:30:00') / 24.0
Run Code Online (Sandbox Code Playgroud)
或者为了更好的粒度,以分钟或秒为单位?
DATEDIFF(MINUTE,'2011-12-31 8:30:00','2011-12-31 20:30:00') / 1440.0
DATEDIFF(SECOND,'2011-12-31 8:30:00','2011-12-31 20:30:00') / 86400.0
Run Code Online (Sandbox Code Playgroud)