如何将日期值转换为oracle日期值

本文关键字:日期 oracle 转换 | 更新日期: 2023-09-27 18:27:32

我有一个要求,需要将日期值(2013年8月14日)转换为(2013年八月14日)。我使用了以下查询,但它不起作用:

select *
from ind_holidays
where hol_date between to_date('11-08-2013', 'dd-mmm-yyyy hh24:mi:ss') AND to_date('17-08-2013', 'dd-mmm-yyyy hh24:mi:ss')
ORDER by name    

如何将日期值转换为oracle日期值

to_date格式字符串中的时间部分是不必要的。更改您的查询如下:

select *
from ind_holidays
where hol_date between to_date('11-08-2013', 'dd-mm-yyyy') AND to_date('17-08-2013', 'dd-mm-yyyy')
ORDER by name   

并使用CCD_ 1而不是CCD_

Oracle的TO_DATE函数希望格式字符串与输入匹配。

to_date('11-08-2013', 'dd-mm-yyyy')

注意mm表示2位数的月份编号,而不是mmm-三个字符的月份使用mon)将字符串转换为日期,您的查询应该处理该日期。hh24:mi:ss部分不是必需的,因为字符串中没有时间组件。不过,我机器上的Oracle 11g仍然可以处理它。

但是你的问题说

我需要将日期值(2013年8月14日)转换为

哪一个看起来可能是输出问题?也许是输出中的日期列?应用相同的格式字符串,例如:

SELECT TO_CHAR(hol_date, 'DD-MON-YY') FROM ...

这样尝试;

to_date('11-08-2013', 'DD-MON-YY')
  • TO_DATE格式掩码

D-月日

MON-三个字符的月份,即"Jan"、"Feb"、"Apr

mm0-年份的最后两位数字