cor*_*llo 1 oracle unix-timestamp
如何使用 ORACLE 在 NUMBER 中转换 CURRENT_TIMESTAMP 函数?
使用以下代码,我可以提取系统的 CURRENT_TIMESTAMP
SELECT SYS_EXTRACT_UTC(CURRENT_TIMESTAMP) FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
我想要的是用上面代码的结果来创建对应的unix格式的时间戳。实际上:1) 使用 SELECT SYS_EXTRACT_UTC(CURRENT_TIMESTAMP) FROM DUAL; 我收到这个结果:
--------------------------------------------------
| SYS_EXTRACT_UTC(CURRENT_TIMESTAMP) |
--------------------------------------------------
| 30-OTT-14 09:51:43,164232000 |
--------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
2)我想将其转换为:
--------------------------------------------------
| UNIXTIMESTAMP |
--------------------------------------------------
| 1414662703 |
--------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
那可能吗?谢谢大家
如果您需要使用时间戳,则可以尝试此操作
select trunc(
extract(day from intvl) * 24 * 60 * 60
+ extract(hour from intvl) * 60 * 60
+ extract(minute from intvl) * 60
+ extract(second from intvl)
)
from
(select SYS_EXTRACT_UTC(CURRENT_TIMESTAMP) - to_timestamp('19700101', 'YYYYMMDD') intvl from dual);
Run Code Online (Sandbox Code Playgroud)
两个时间戳之间的差异是一个间隔
EXTRACT(fmt FROM INTERVAL) 从 INTERVAL 中提取日期时间分量
TRUNC 截断毫秒
| 归档时间: |
|
| 查看次数: |
16212 次 |
| 最近记录: |