You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle数据库如何获取current_time?求MySQL对应功能的等价写法

Equivalent of MySQL's CURRENT_TIME in Oracle

嘿,刚好对这个问题熟得很!MySQL里的CURRENT_TIME用来获取当前的时分秒,在Oracle里有几种等价的写法,看你需要哪种效果:

先回顾下你给出的MySQL示例:

SELECT current_time;
-- 输出:
-- current_time
-- --------------------
-- 15:30:16

1. 得到和MySQL完全一致的字符串格式(时分秒)

如果你想要和示例里一模一样的字符串输出,用TO_CHAR函数搭配SYSDATE(Oracle获取当前系统时间的核心函数):

SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS') AS current_time FROM DUAL;

执行后输出会是:

CURRENT_TIME
--------------------
15:30:16

这里HH24确保是24小时制,MI代表分钟,SS代表秒,完美匹配MySQL的输出格式。

2. 得到时间类型的值(而非字符串)

Oracle其实也有CURRENT_TIME函数,但它默认返回带时区的TIME WITH TIME ZONE类型,结果会带时区偏移,比如15:30:16.000000 +08:00。如果只需要纯时间类型,可以用CAST转换:

-- 带时区的时间结果
SELECT CURRENT_TIME FROM DUAL;

-- 去掉时区的纯时间
SELECT CAST(CURRENT_TIME AS TIME) AS current_time FROM DUAL;

不过这个方法会保留小数秒,如果不需要的话,第一种字符串格式的写法更贴合你的需求。

内容的提问来源于stack exchange,提问作者eastwater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:42:39