首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle 10g将带有时间戳的日期列转换为dd-mon-yyyy格式

oracle 10g将带有时间戳的日期列转换为dd-mon-yyyy格式
EN

Stack Overflow用户
提问于 2013-04-11 22:03:13
回答 2查看 12.3K关注 0票数 0

您好,我正在尝试将定义为日期的列转换为DD-MON-YYYY格式的日期,但无法正常工作

代码语言:javascript
复制
 select 
   to_date(to_char
   (DESIGN_COMPLETION_DATE,'DD-MON-YYYY'),'DD-MON-YYYY') as Assessment_Completion_Date
    from nbi_dates

也尝试过

代码语言:javascript
复制
 Select to_date(DESIGN_COMPLETION_DATE,'DD-MON-YYYY') as Assessment_Completion_Date
    from nbi_dates

有效的是,但我不能对它做任何计算,因为它是char

代码语言:javascript
复制
 Select to_char(DESIGN_COMPLETION_DATE,'DD-MON-YYYY') as Assessment_Completion_Date
    from nbi_dates

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-04-11 22:12:47

如果您的DATE包含时间部分,但只对实际的日期部分感兴趣,则可以使用trunc函数:

代码语言:javascript
复制
select trunc(design_completion_date) as assessment_completion_date from nbi_dates

使用sysdate的一个差异示例;请注意,trunc'd版本上的时间已设置为午夜:

代码语言:javascript
复制
SQL> alter session set nls_date_format = 'DD/MM/YYYY HH24:MI:SS';

Session altered.

SQL> select sysdate, trunc(sysdate) from dual;

SYSDATE             TRUNC(SYSDATE)
------------------- -------------------
11/04/2013 15:14:31 11/04/2013 00:00:00

DATE没有固有的格式。DD-MON-YYYY是一种应用于显示日期或将其转换为字符串表示形式的格式掩码,这通常只在显示时才需要。对于此目的,您的第三个选项是正确的,但如果您想要对结果进行进一步的日期计算,则不是这样。

票数 1
EN

Stack Overflow用户

发布于 2013-04-11 22:07:38

代码语言:javascript
复制
Select to_date(to_char(DESIGN_COMPLETION_DATE,'DD-MON-YYYY'),'DD-MON-YYYY') as Assessment_Completion_Date
from nbi_dates

或者简单地(如果你想让date对象用于计算而不是渲染)

代码语言:javascript
复制
    Select DESIGN_COMPLETION_DATE as Assessment_Completion_Date
from nbi_dates
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15950845

复制
相关文章

相似问题

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