繁体   English   中英

如何从Oracle中的日期中提取毫秒?

[英]How to extract millisecond from date in Oracle?

我有完整的日期(有时间)。 但我只想要从日期开始的毫秒数。

请告诉我一行解决方案

例如: date= 2016/03/16 10:45:04.252我想要这个答案= 252

我尝试使用此查询。

SELECT ADD_MONTHS(millisecond, -datepart('2016/03/16 10:45:04.252', millisecond),
     '2016/03/16 10:45:04.252') FROM DUAL;

但我没有成功。

我有完整的日期(有时间)

这只能使用timestamp来完成。 尽管 Oracle 的date确实包含时间,但它只存储秒,而不是毫秒。


要从时间戳中获取小数秒,请使用to_char()并将其转换为数字:

select to_number(to_char(timestamp '2016-03-16 10:45:04.252', 'FF3'))
from dual;
SELECT 
TRUNC((L.OUT_TIME-L.IN_TIME)*24)           ||':'||
TRUNC((L.OUT_TIME-L.IN_TIME)*24*60)        ||':'||
ROUND(CASE WHEN ((L.OUT_TIME-L.IN_TIME)*24*60*60)>60 THEN ((L.OUT_TIME-L.IN_TIME)*24*60*60)-60 ELSE ((L.OUT_TIME-L.IN_TIME)*24*60*60) END ,5) Elapsed
FROM XYZ_TABLE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM