我正在尝试通过执行以下操作来计算进入/退出时间的差异:
SELECT entry_time - exit_time AS dwell
但是,相信这些值在 SimpleDateFormat 中:
2017-07-15T13:00:37-05:00
结果,我无法弄清楚在 Postgre Sql 中要 CAST 或将它们转换为什么
我能够在 PySpark 中做到这一点,但现在我只需要使用标准 SQL 来做到这一点。这是在 Spark 中起作用的示例:
import pyspark.sql.functions as F
timeFmt = "yyyy-MM-dd'T'HH:mm:ss"
timeDiff = (F.unix_timestamp('exit_time', format=timeFmt)
- F.unix_timestamp('entry_time', format=timeFmt))
new_sdf = sdf.withColumn("Dwell", timeDiff)
任何帮助是极大的赞赏!
您可以只强制转换这样的值来获取 PostgreSQL 中的时间戳:
SELECT CAST('2017-07-15T13:00:37-05:00' AS timestamp with time zone);
timestamptz
------------------------
2017-07-15 20:00:37+02
(1 row)
然后使用时间戳算法并减去两个时间戳得到一个interval
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句