目前我使用MyTimeStampField-TRUNC(MyTimeStampField)从Oracle中的timestamp列中提取时间部分。
MyTimeStampField-TRUNC(MyTimeStampField)
SELECT CURRENT_TIMESTAMP-TRUNC(CURRENT_TIMESTAMP) FROM DUAL
这个返回+00 13:12:07。100729从时间戳字段中提取时间部分对我来说还可以,但我想知道是否有更好的方法(可能是使用ORACLE的内置函数)来做到这一点?
vptzau2j1#
什么是EXTRACT()函数?
pinkon5k2#
你总是可以这样做:
select TO_DATE(TO_CHAR(SYSDATE,'hh24:mi:ss'),'hh24:mi:ss') from dual
我相信这也会对时间戳起作用。
yxyvkwin3#
你只想约会然后使用
to_char(cast(SYSDATE as date),'DD-MM-YYYY')
如果你只想要时间
to_char(cast(SYSDATE as date),'hh24:mi:ss')
参数使所有的改变
'DD-MM-YYYY'
和
'hh24:mi:ss'
jc3wubiy4#
这可能有助于:
Select EXTRACT(HOUR FROM (SYSDATE - trunc(sysdate)) DAY TO SECOND ) From dual;
e1xvtsh35#
这给出的时间戳比实际时间短1小时。
gkl3eglg6#
也许不是那么优雅,但它对我很有效。
SELECT TRUNC(CURRENT_TIMESTAMP) + (CURRENT_TIMESTAMP - TRUNC(CURRENT_TIMESTAMP)) - TRUNC(CURRENT_TIMESTAMP) FROM dual ----------------- 0,851863425925926
不需要最后一个减法,你可以将TIMESTAMP转换为DATE,随时间i。e.
SELECT TRUNC(CURRENT_TIMESTAMP) + (CURRENT_TIMESTAMP - TRUNC(CURRENT_TIMESTAMP)) FROM dual ----------------- 20.04.2023 20:31:02
zvms9eto7#
select hour(CURRENT_TIMESTAMP)
7条答案
按热度按时间vptzau2j1#
什么是EXTRACT()函数?
pinkon5k2#
你总是可以这样做:
我相信这也会对时间戳起作用。
yxyvkwin3#
你只想约会然后使用
如果你只想要时间
参数使所有的改变
和
jc3wubiy4#
这可能有助于:
e1xvtsh35#
这给出的时间戳比实际时间短1小时。
gkl3eglg6#
也许不是那么优雅,但它对我很有效。
不需要最后一个减法,你可以将TIMESTAMP转换为DATE,随时间i。e.
zvms9eto7#