Oracle sql如何把毫秒转为日期,sql – 将毫秒转换为时间戳
如果向時(shí)間戳添加間隔,則會(huì)獲得時(shí)間戳(請(qǐng)參閱
date/interval arithmetics).
作為Benoit noticed,當(dāng)超過(guò)大約2.1e9時(shí),您不能指定具有秒的間隔:
SQL> SELECT numtodsinterval(2.2e9, 'SECOND'),
2 numtodsinterval(2.3e9, 'SECOND')
3 FROM dual;
NUMTODSINTERVAL(2.2E9,'SECOND' NUMTODSINTERVAL(2.3E9,'SECOND'
------------------------------- -------------------------------
+000024855 03:14:07.147483647 +000024855 03:14:07.147483647
這就是為什么你應(yīng)該使用不會(huì)失去精度的分鐘.例如,假設(shè):TS是unix時(shí)間戳(即數(shù)字):
SQL> variable ts number;
SQL> -- determining unix timestamp with nanosecond precision
SQL> BEGIN
2 :ts := (to_date('2099-01-01 01:02:03', 'yyyy-mm-dd hh24:mi:ss')
3 - date '1970-01-01') * 1000*60*60*24
4 + 123.456789;
5 END;
6 /
ts
---------
4070912523123,456789
SQL> select timestamp '1970-01-01 00:00:00'
2 + numtodsinterval((:ts)/1000/60, 'MINUTE')
3 from dual;
TIMESTAMP'1970-01-0100:00:00'+NUMTODSINTERVAL((:TS)/1000/60,'MINUTE')
---------------------------------------------------------------------------
2099-01-01 01:02:03.123456789
總結(jié)
以上是生活随笔為你收集整理的Oracle sql如何把毫秒转为日期,sql – 将毫秒转换为时间戳的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 重启oracle服务顺序,oracle
- 下一篇: php 商品价格区间算法,ecshop商