从 Hive 中的日期减去工作日 SQL

substract the week day from a date in Hive SQL

我是 Hive 的新手 SQL,我需要执行以下操作。 我有一个包含日期的列,我想做的是创建一个新列,该列将是该日期之前的星期日。 在 xls 中,我将编写以下内容: my_date-WEEKDAY(my_date,1)+1 在 sql:

DATEADD(DD, -(DATEPART(DW, my_date)-1), my_date)

我在 Hive SQL 中尝试了以下操作:

DATE_SUB (my_date, date_format(my_date,'u')-1)

但是 date_format returns 一个字符串。

有什么想法吗?

date_format 的结果转换为 int 并进行算术运算。

DATE_SUB(my_date,cast(date_format(my_date,'u') as int)%7)