java返回的毫秒数怎样转换为oracle的时间戳,需要带毫秒。

select to_timestamp('1970-01-01 08:00:00.0001','yyyy-mm-dd hh24:mi:ss.ff')+1703818210077/1000/24/60/60 from dual;
试了这样不行,返回不带毫秒数。

SQL> select to_char(to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss')+1703818210077/1000/24/60/60,'yyyy-mm-dd hh24:mi:ss')||substr(to_char(1703818210077/1000),-4) from dual;


2023-12-29 10:50:10.077

主要是毫秒数与你的那个能对上不,你看看

SELECT TO_CHAR(1112070645000 / (1000 * 60 * 60 * 24) +

TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH:MI:SS') AS CDATE

FROM PDA_ORDER t;

和我的没区别,还是没带毫秒数。
图片说明
需要返回这样带毫秒数的
图片说明