问题描述
亲爱的,我想把时间放在表 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>
这是方法。
由于我仍然不明白您实际上在做什么,我希望这足以让您继续前进。