我知道将Unix时间戳(以毫秒为单位)转换成SQL时间戳可以使用以下方法:
SELECT TO_DATE('1970-01-01','YYYY-MM-DD HH24:MI:SS') +
(:timestamp / (1000*60*60*24)) FROM DUAL;
但我需要一个时间戳,所以我尝试使用以下代码:
SELECT TO_TIMESTAMP('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SSFF3') +
(:timestamp) from DUAL
出现了以下错误:
错误:ORA-01841:(完整的)年必须介于-4713和+9999之间,而不能为0
似乎将时间戳加1总是转换为一天。
我该如何获得真正的时间戳?