By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
CREATE TABLE t1 (
seq_num NUMBER GENERATED BY DEFAULT AS IDENTITY (START WITH 1) NOT NULL,
start_date DATE,
end_date DATE
);
INSERT /*+ WITH_PLSQL */ INTO t1 (start_date, end_date)
WITH
FUNCTION random_date(
p_from IN DATE,
p_to IN DATE
) RETURN DATE
IS
BEGIN
RETURN p_from + DBMS_RANDOM.VALUE() * (p_to - p_from + 1 );
END random_date;
FUNCTION random_interval(
p_min_hours IN NUMBER,
p_max_hours IN NUMBER
) RETURN INTERVAL DAY TO SECOND
IS
BEGIN
RETURN floor(dbms_random.value(p_min_hours, p_max_hours)) * interval '1' hour
+ floor(dbms_random.value(0, 60)) * interval '1' minute
+ floor(dbms_random.value(0, 60)) * interval '1' second;
END random_interval;
cte (start_date, duration) AS (
SELECT
random_date(DATE '2022-04-01', DATE '2022-04-30'),
random_interval(1, 10)
FROM dual CONNECT BY level <= 50
)
SELECT start_date, start_date + duration
FROM cte;
50 rows affected
SELECT * FROM t1 ORDER BY start_date
SEQ_NUM | START_DATE | END_DATE |
---|---|---|
10 | 01-APR-2022 05:10:27 | 01-APR-2022 10:22:55 |
15 | 01-APR-2022 11:45:58 | 01-APR-2022 20:37:59 |
23 | 02-APR-2022 08:24:18 | 02-APR-2022 12:26:36 |
31 | 03-APR-2022 15:40:17 | 03-APR-2022 16:52:59 |
1 | 03-APR-2022 19:01:19 | 03-APR-2022 20:48:29 |
50 | 04-APR-2022 06:38:23 | 04-APR-2022 12:44:22 |
20 | 04-APR-2022 15:18:34 | 04-APR-2022 21:28:21 |
9 | 04-APR-2022 18:12:02 | 04-APR-2022 21:43:02 |
38 | 05-APR-2022 15:50:43 | 05-APR-2022 22:05:41 |
46 | 05-APR-2022 18:21:34 | 06-APR-2022 03:52:38 |
7 | 07-APR-2022 04:24:56 | 07-APR-2022 05:25:37 |
17 | 07-APR-2022 10:14:55 | 07-APR-2022 17:18:48 |
40 | 08-APR-2022 06:12:36 | 08-APR-2022 10:02:00 |
2 | 08-APR-2022 15:08:16 | 08-APR-2022 20:57:15 |
21 | 08-APR-2022 16:51:28 | 08-APR-2022 22:56:47 |
35 | 08-APR-2022 23:56:51 | 09-APR-2022 06:57:15 |
16 | 09-APR-2022 22:11:38 | 10-APR-2022 02:44:07 |
34 | 11-APR-2022 05:18:47 | 11-APR-2022 11:22:44 |
39 | 11-APR-2022 18:17:01 | 12-APR-2022 02:10:09 |
37 | 11-APR-2022 18:46:39 | 11-APR-2022 23:10:24 |
44 | 11-APR-2022 19:55:56 | 11-APR-2022 21:37:22 |
3 | 11-APR-2022 23:13:12 | 12-APR-2022 08:23:15 |
41 | 12-APR-2022 01:11:01 | 12-APR-2022 10:21:58 |
26 | 12-APR-2022 03:45:21 | 12-APR-2022 11:15:36 |
12 | 12-APR-2022 07:33:28 | 12-APR-2022 11:37:14 |
29 | 12-APR-2022 13:54:13 | 12-APR-2022 23:15:18 |
47 | 13-APR-2022 18:37:06 | 13-APR-2022 22:15:40 |
45 | 16-APR-2022 05:58:14 | 16-APR-2022 12:26:09 |
14 | 17-APR-2022 14:20:31 | 18-APR-2022 00:15:48 |
36 | 17-APR-2022 23:22:29 | 18-APR-2022 08:46:54 |
13 | 18-APR-2022 16:42:07 | 18-APR-2022 20:15:30 |
28 | 19-APR-2022 07:02:20 | 19-APR-2022 08:07:36 |
49 | 19-APR-2022 20:30:25 | 19-APR-2022 22:51:43 |
43 | 20-APR-2022 01:03:41 | 20-APR-2022 05:33:06 |
19 | 21-APR-2022 05:03:23 | 21-APR-2022 10:10:34 |
27 | 21-APR-2022 22:10:47 | 22-APR-2022 05:46:27 |
33 | 22-APR-2022 06:30:11 | 22-APR-2022 13:52:40 |
42 | 23-APR-2022 07:31:34 | 23-APR-2022 09:45:13 |
32 | 24-APR-2022 01:54:44 | 24-APR-2022 08:38:17 |
11 | 24-APR-2022 06:08:54 | 24-APR-2022 08:20:33 |
8 | 24-APR-2022 08:13:54 | 24-APR-2022 16:47:27 |
22 | 24-APR-2022 19:09:13 | 25-APR-2022 01:00:21 |
18 | 25-APR-2022 05:08:32 | 25-APR-2022 06:45:15 |
6 | 25-APR-2022 08:10:45 | 25-APR-2022 15:47:07 |
30 | 26-APR-2022 20:45:22 | 27-APR-2022 01:22:37 |
25 | 27-APR-2022 12:26:17 | 27-APR-2022 15:58:28 |
48 | 27-APR-2022 15:23:19 | 27-APR-2022 23:44:57 |
4 | 27-APR-2022 16:10:09 | 27-APR-2022 19:59:17 |
24 | 27-APR-2022 21:20:45 | 28-APR-2022 05:18:44 |
5 | 29-APR-2022 14:35:45 | 29-APR-2022 19:51:13 |