如何查找Hive中每年3月的第二个星期日的日期?

时间:2019-07-08 10:18:28

标签: sql hive hiveql

我想获取Hive中任何给定年份的3月的每个第二个星期日的日期。

2 个答案:

答案 0 :(得分:1)

选择date_add(“ 1901-03-01”,cast(7-date_format(“ 1901-03-01”,'u')作为int)+7);

答案 1 :(得分:0)

这就是您的操作方式。在下面的查询中,您所需要做的就是更改年份值,您将获得输出。

SELECT  if(cast(from_unixtime(unix_timestamp('2019-03-14','yyyy-MM-dd'), 'u') AS int) ==7, date_sub(from_unixtime(unix_timestamp('2019-03-15','yyyy-MM-dd')), cast(from_unixtime(unix_timestamp('2019-03-15','yyyy-MM-dd'), 'u') AS int)), date_sub(from_unixtime(unix_timestamp('2019-03-14','yyyy-MM-dd')),cast(from_unixtime(unix_timestamp('2019-03-14','yyyy-MM-dd'), 'u') AS int)));

如果它对您有用,请不要忘记竖起大拇指的答案。 :) 花了半个小时才达到这个目的,:)