【发布时间】:2021-12-03 15:54:48
【问题描述】:
在 Spark SQL 中,我找不到将天数添加到时间戳并接收回时间戳的函数,我可以使用计算值来执行此操作。
这可行,但 静态
SELECT col1 + interval 2 days FROM
VALUES make_timestamp(2021, 12, 28, 6, 30, 45.887)
我需要一个我可以计算的。这不起作用(我也不能用列值填充它):
SELECT col1 + interval (5-3) days
FROM VALUES make_timestamp(2021, 12, 28, 6, 30, 45.887)
这也不好(因为它提供了一个日期):
SELECT date_add(col1,1) FROM
VALUES make_timestamp(2021, 12, 28, 6, 30, 45.887)
【问题讨论】:
-
你可以试试你的最后一个解决方案,但只是用
to_timestamp(date_add(col1,1))包装它 -
不幸的是,该解决方案将小时、分钟、秒截断为零
-
字符串插值,val ndays=5-3; val sql=s"SELECT col1 + interval $ndays days FROM .."
标签: sql apache-spark apache-spark-sql