通过从时间范围混洗,在特定范围的列中输入时间



亲爱的,我想把时间放在有列C1,C2,C3的表T1中。我想把日期放在C1中。日期必须从给定日期date1输入到date2和c2之间进行叙述,C3必须通过从给定范围在C3中混洗来把时间放进去。意思是想从开始7:45到结束时间8:00加上时间,想给一个月。Jan-2021系统可以在C1中为该月加上date除了星期天,在c2中添加给定的叙述,并通过在oracle形式中洗牌来添加给定范围内的时间,任何想法请

如果要创建随机时间,请使用DBMS_RANDOM包。例如:

更改会话,以便您知道result值代表什么:

SQL> alter session set nls_date_format = 'dd.mm.yyyy hh24:mi';
Session altered.

查询:

SQL> with test (start_date) as
2    (select to_date('01.01.2021 07:45', 'dd.mm.yyyy hh24:mi') from dual
3    )
4  select start_date + round(dbms_random.value(1, 15)) / (24 * 60) result
5  from test
6  connect by level <= 15;
RESULT
----------------
01.01.2021 07:49
01.01.2021 07:54
01.01.2021 07:59
01.01.2021 07:58
01.01.2021 07:56
01.01.2021 07:54
01.01.2021 07:57
01.01.2021 07:52
01.01.2021 07:54
01.01.2021 07:52
01.01.2021 07:50
01.01.2021 07:46
01.01.2021 07:53
01.01.2021 07:48
01.01.2021 07:49
15 rows selected.
SQL>

这就是方式

由于我仍然不明白你到底在做什么,我希望这足以让你继续前进

最新更新