随机生成从某年某月某日到某年某月某日的日期
例如随机生成从‘2017-05-01’到‘2018-05-31’的日期,可以使用如下Hive Sql语句:
select id_card_no,card_name,date_add('2017-05-01',cast(rand()*396 as int)) as back_time
from shabi.test
group by id_card_no,card_name
这里需要说明的是:
rand()函数: hive函数手册上这个函数的作用是产生0到1之间的随机数,但是经过多次实验发现,这个函数产生的随机数的区间为(0,1),即不包含0也不包含1。所以这里使用的是rand()*396(从'2017-05-01’到‘2018-05-31’共有396天)