Вы можете использовать функцию NUMTODSINTERVAL
, чтобы добавить количество единиц времени (дни / часы / минуты / секунды, в зависимости от ситуации) к времени эпохи. Например, если вы хотите иметь время между настоящим моментом и 1970-01-01
, то вы можете рассчитать общее количество секунд между настоящим моментом и этой эпохой, используя:
( SYSDATE - DATE '1970-01-01' ) * 24 * 60 * 60
Затем вы можете использовать его в качестве аргумента для DBMS_RANDOM.VALUE
:
INSERT INTO table_name ( value )
VALUES (
DATE '1970-01-01'
+ NUMTODSINTERVAL(
DBMS_RANDOM.VALUE(
0,
( SYSDATE - DATE '1970-01-01' ) * 24 * 60 * 60
),
'SECOND'
)
);
Если вы хотите вставить несколько значений, вы можете повторить вставку или использовать SELECT
с предложением CONNECT BY
:
INSERT INTO table_name ( value )
SELECT DATE '1970-01-01'
+ NUMTODSINTERVAL(
DBMS_RANDOM.VALUE(
0,
( SYSDATE - DATE '1970-01-01' ) * 24 * 60 * 60
),
'SECOND'
)
FROM DUAL
CONNECT BY LEVEL <= 9;
db <> скрипка здесь