У меня есть таблица T1 с user_id и датой создания учетной записи в 2019 или 2018 годах. Я хочу назначить случайную дату каждому пользователю. Для пользователей в 2018 году случайной датой может быть что угодно в 2019 году, но для людей, зарегистрированных в 2019 году, случайная дата должна быть ie между одним днем создания учетной записи и 31 декабря c 2019.
Несмотря на использование упорядочить по и установить начальное число (красное смещение позволяет только случайным образом давать число от 0 до 1), я получаю новую случайную дату для того же user_id , когда я повторно запускаю приведенный ниже код. Это красное смещение, и я использую alation (SQL) для запроса.
set seed to 0.25;
select *,
case when created_date<'2019-01-01' then date(DATEADD(day,cast(random()*DATEDIFF(day,'2019-01-01','2019-12-31') as int),'2019-01-01'))
when created_date<'2020-01-01' and created_date>='2019-01-01' then date(DATEADD(day,cast(random()*DATEDIFF(day,created_date,'2019-12-31') as int),created_date))
end as random_date
from scratchdb.tmp_table1
order by 1,2