【发布时间】:2020-12-27 20:33:21
【问题描述】:
我有一个计算上一季度结束日期的 SQL-Server 查询。现在,我需要将此查询转换为Spark-SQL 查询。
Sql-Server 查询和一些示例示例如下:
select dateadd(dd, -1, dateadd(qq, datediff(qq, 0, cast('2020-09-09' AS DATE)), 0)) as end_dt
输出:2020-06-30
要为另一个 (2021-01-10) 日期计算相同的值:
select dateadd(dd, -1, dateadd(qq, datediff(qq, 0, cast('2021-01-10' AS DATE)), 0)) as end_dt
输出:2020-12-31
问题:如何在 Spark SQL 查询 (v2.4) 中实现相同的功能?如何根据上面的SQL-Server 示例和下面的所需输出计算上一季度的最后一天?
input_date | end_date
------------------------
2020-01-21 | 2019-12-31
2020-02-06 | 2019-12-31
2020-04-15 | 2020-03-31
2020-07-10 | 2020-06-30
2020-10-20 | 2020-09-30
2021-02-04 | 2020-12-31
感谢任何帮助。谢谢。
【问题讨论】:
标签: sql sql-server apache-spark datetime apache-spark-sql