每周第一天,最后一天
--每个自然周第一天
set hivevar:swfdt=date_add('${hivevar:sdt}',1 - case when dayofweek('${hivevar:sdt}') = 1 then 7 else dayofweek('${hivevar:sdt}') - 1 end);
set hivevar:wfdt=regexp_replace(${hivevar:swfdt},'-','');
select ${hivevar:wfdt};
select ${hivevar:swfdt};
--每个自然周最后一天
set hivevar:swldt=date_add('${hivevar:sdt}',7 - case when dayofweek('${hivevar:sdt}') = 1 then 7 else dayofweek('${hivevar:sdt}') - 1 end);
set hivevar:wldt=regexp_replace(${hivevar:swldt},'-','');
select ${hivevar:wldt};
select ${hivevar:swldt};
--获取当月第一天
set hivevar:smfdt=trunc('${hivevar:sdt}','MM');
set hivevar:mfdt=regexp_replace(${hivevar:smfdt},'-','');
select ${hivevar:mfdt};
select ${hivevar:smfdt};
--获取当月最后一天
set hivevar:smldt=last_day('${hivevar:sdt}');
set hivevar:mldt=regexp_replace(${hivevar:smldt},'-','');
select ${hivevar:mldt};
select ${hivevar:smldt};
--获取半年第一天
set hivevar:shyfdt=concat(year('${hivevar:sdt}'),'-',case when month('${hivevar:sdt}') between 1 and 6 then '01-01' else '07-01' end);
set hivevar:hyfdt=concat(year('${hivevar:sdt}'),case when month('${hivevar:sdt}') between 1 and 6 then '0101' else '0701' end);
select ${hivevar:shyfdt};
select ${hivevar:hyfdt};
--获取半年最后一天
set hivevar:shyldt=concat(year('${hivevar:sdt}'),'-',case when month('${hivevar:sdt}') between 1 and 6 then '06-30' else '12-31' end);
set hivevar:hyldt=concat(year('${hivevar:sdt}'),case when month('${hivevar:sdt}') between 1 and 6 then '0630' else '1231' end);
select ${hivevar:shyldt};
select ${hivevar:hyldt};