Oracle SQL如何在DBMS_OUTPUT.PUT_LINE输出指定格式的当前时间戳
Oracle 输出指定格式运行时间的实现方案
要实现你需要的输出效果,直接使用Oracle内置的SYSDATE获取当前时间+TO_CHAR函数格式化即可,无需单独提取月、日、年等字段拼接。
完整可运行代码示例
首先需要在SQL Developer中先执行SET SERVEROUTPUT ON;开启输出开关,否则DBMS_OUTPUT内容不会展示:
SET SERVEROUTPUT ON; BEGIN DBMS_OUTPUT.PUT_LINE('---- Run Completed on ' || TO_CHAR(SYSDATE, 'Mon fmDD, YYYY "at" fmHH24:MI')); END; /
执行后输出示例:---- Run Completed on Jan 6, 2021 at 12:34
格式参数说明
你可以根据需要调整TO_CHAR的格式掩码,常用对应规则如下:
Mon:输出首字母大写的3位英文月份缩写,需要全大写用MON、全小写用monfmDD:输出不带前导零的日期,若需要保留前导零(如1月6日显示为06),删除fm前缀即可YYYY:输出4位数字年份"at":格式掩码中用双引号包裹的内容会原样输出,无需单独拼接字符串fmHH24:MI:输出24小时制不带前导零的小时+分钟,若需要12小时制带上午/下午标识,可替换为fmHH12:MI AM
扩展说明
如果需要使用会话所在时区的时间而非数据库服务器时区的时间,可以将SYSDATE替换为CURRENT_DATE。
内容的提问来源于stack exchange,提问作者Adachi
相关产品推荐
相关产品推荐

