HiveQL--随机生成日期

随机生成从某年某月某日到某年某月某日的日期

例如随机生成从‘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天)

你可能感兴趣的:(SQL)