从 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)
我是 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)