首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle SYSDATE格式更改

Oracle SYSDATE格式更改
EN

Stack Overflow用户
提问于 2017-03-15 16:42:57
回答 3查看 11.8K关注 0票数 0

我正在尝试更改Oracle SYSDATE的格式,以便它在运行PL/SQL过程时使用特定格式。这种格式确实是不必要的,但我正在更新一个旧的表,由于一些集成,需要维护这种格式。我的问题是我不能复制这种格式。所需格式为:15/MAR/17 09:31:08.000000000

目前,下面是我能得到的最接近的结果,我不确定如何将MM更改为显示MAR而不是03。

代码语言:javascript
复制
SELECT TO_CHAR
    (SYSDATE, 'DD/MM/YY HH24:MI:SS.SSSSSSSSS')
FROM DUAL;

提前感谢一百万

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-15 16:44:38

MON将显示月份而不是数字。

代码语言:javascript
复制
SELECT TO_CHAR
    (SYSDATE, 'DD/MON/YY HH24:MI:SS."000000000"')
FROM DUAL;
票数 2
EN

Stack Overflow用户

发布于 2017-03-15 16:47:40

转换成你想要的格式的文本(除非数据库设计很糟糕,否则你不需要这样做)。

代码语言:javascript
复制
substr(to_char(systimestamp,'DD/MON/YY HH24:MI:SS.FF')  || '000000000', 1, 28)

代码语言:javascript
复制
to_char(sysdate,'DD/MON/YY HH24:MI:SS')  || '.000000000'

有关格式掩码的详细信息,请参阅here

注意: sysdate不返回秒的分数,因此如果需要这样做,可以使用systimestamp

票数 2
EN

Stack Overflow用户

发布于 2017-03-15 17:01:01

SYSDATE属于DATE类型,不支持小数秒,因此您需要将.000000000与格式化的日期连接起来:

代码语言:javascript
复制
SELECT TO_CHAR(
         SYSDATE,
         'DD/MM/YY HH24:MI:SS'
       ) || '.000000000'
FROM   DUAL;

或者您需要将DATE CASTTIMESTAMP

代码语言:javascript
复制
SELECT TO_CHAR(
         CAST( SYSDATE AS TIMESTAMP ),
         'DD/MM/YY HH24:MI:SS.FF9'
       )
FROM   DUAL;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42804788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档