从ORACLE中的TimeStamp列中提取时间部分

RRU*_*RUZ 11 sql oracle

目前我正在使用MyTimeStampField-TRUNC(MyTimeStampField)从Oracle中的时间戳列中提取时间部分.

SELECT CURRENT_TIMESTAMP-TRUNC(CURRENT_TIMESTAMP) FROM DUAL
Run Code Online (Sandbox Code Playgroud)

这回来了

+00 13:12:07.100729

这对我来说很合适,从时间戳字段中提取时间部分,但我想知道是否有更好的方法(可能使用ORACLE的内置函数)来执行此操作?

Fra*_*ens 6

怎么样提取物()函数?

  • 如果使用提取函数,应该写一些类似`SELECT EXTRACT(HOUR FROM CURRENT_TIMESTAMP)|| ':'|| EXTRACT(从CURRENT_TIMESTAMP开始)|| ':'|| EXTRACT(来自CURRENT_TIMESTAMP的第二个)来自DUAL;`这实际上使用的方法更有效吗? (6认同)

LBu*_*kin 6

你总是可以这样做:

select TO_DATE(TO_CHAR(SYSDATE,'hh24:mi:ss'),'hh24:mi:ss') from dual
Run Code Online (Sandbox Code Playgroud)

我相信这也适用于时间戳.