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

问题描述

亲爱的,我想把时间放在表 T1 中,它有 C1,C2,C3 列我想把日期放在 C1 中,日期必须从给定的日期 date1 之间输入 {{1} } 和 c2 用于叙述,C3 必须通过从给定范围内在 C3 中混洗来放置时间意味着要从开始 date2 结束时间 7:45 开始添加时间并且想要给一个8:00 系统可以在 C1 中为月份添加 Jan-2021 并在 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>

这是方法

由于我仍然不明白您实际上在做什么,我希望这足以让您继续前进。