ある範囲でランダムなTIMESTAMPの値を作成したい


【目標】  
ある範囲でランダムなTIMESTAMPの値を作成したい

【前提】  
実行環境：Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit
Production

【実行SQL】

※TABLE1：TIMESTAMP型の列のみ

[code]

    INSERT INTO TABLE1
    SELECT 
    --20180101から現在の日時までのランダム日付を取得
      SYSTIMESTAMP +MOD(ABS(DBMS_RANDOM.RANDOM()),CURRENT_DATE -TO_DATE('20180101','YYYYMMDD'))
    FROM
    (SELECT 0 FROM ALL_CATALOG WHERE ROWNUM <= 1000) 
    ,(SELECT 0 FROM ALL_CATALOG WHERE ROWNUM <= 500)
    
[/code]

【実行結果】  
秒までがランダムになる。ミリ秒が「.000000000」となりランダムにならない




※ユーザーはSKATP＝user37124です。

@kunifさんのコメントをヒントに目標達成できました。

@Kohei TAMURA、@kunifさんありがとうございました。

[code]

    SELECT 
    --20180101から現在の日時までのランダム日付を取得
      SYSTIMESTAMP + (SYSTIMESTAMP - to_TIMESTAMP(SYSTIMESTAMP +MOD(ABS(DBMS_RANDOM.RANDOM()),CURRENT_DATE -TO_DATE('20180101','YYYYMMDD'))))
    FROM dual;
    
[/code]

