oracle 10g转换日期列,时间戳为dd-mon-yyyy格式

时间:2013-04-11 14:03:13

标签: datetime oracle10g typeconverter

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

 select 
   to_date(to_char
   (DESIGN_COMPLETION_DATE,'DD-MON-YYYY'),'DD-MON-YYYY') as Assessment_Completion_Date
    from nbi_dates

还试过

 Select to_date(DESIGN_COMPLETION_DATE,'DD-MON-YYYY') as Assessment_Completion_Date
    from nbi_dates

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

 Select to_char(DESIGN_COMPLETION_DATE,'DD-MON-YYYY') as Assessment_Completion_Date
    from nbi_dates

由于

2 个答案:

答案 0 :(得分:1)

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

select trunc(design_completion_date) as assessment_completion_date from nbi_dates

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

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 :(得分:0)

Select to_date(to_char(DESIGN_COMPLETION_DATE,'DD-MON-YYYY'),'DD-MON-YYYY') as Assessment_Completion_Date
from nbi_dates

或简单(如果您想要计算日期对象而不是渲染)

    Select DESIGN_COMPLETION_DATE as Assessment_Completion_Date
from nbi_dates