在1-JAN-2011表格中给出日期时,以“YYYY-MM-DD”的格式显示日期?

时间:2017-07-27 05:19:24

标签: oracle datetime

我必须编写一个查询,以'YYYY-MM-DD'的格式显示计划ID和日期。 任何人都可以帮助我吗

旅行日期是这个

TRAVEL_DA
---------
- 09-MAY-16
- 17-MAR-16
- 26-AUG-16
- 30-APR-16
- 17-AUG-16

我希望获得此输出

FORMATTEDD
--- ----------
 - 2016-05-09
 - 2016-03-17
 - 2016-08-26
 - 2016-04-30
 - 2016-08-17

4 个答案:

答案 0 :(得分:0)

SELECT DATE_FORMAT(STR_TO_DATE(TRAVEL_DA,'%d-%b-%y'),'%Y-%m-%d') FROM TABLE;

对于Oracle,您可以尝试TO_CHAR & TO_DATE

SELECT TO_CHAR(TO_DATE(TRAVEL_DA,'DD-MON-YY'),'YYYY-MM-DD') FROM TABLE;

示例查询:

SELECT TO_CHAR(TO_DATE('09-MAY-16','DD-MON-YY'),'YYYY-MM-DD') FROM DUAL;

此处的示例查询相同。

SELECT DATE_FORMAT(STR_TO_DATE('09-MAY-16','%d-%b-%y'),'%Y-%m-%d')

我在这里添加了功能DATE_FORMATSTR_TO_DATE

使用这两项功能可以解决您的问题。

答案 1 :(得分:0)

如果您有很多选择,您可以设置会话的日期格式

ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD';

您可以从请求中删除TO_CHAR

SELECT TO_DATE(TRAVEL_DA,'DD-MON-YY') FROM TABLE;

答案 2 :(得分:0)

除了上述解决方案外,这也适用于使用带有以下扩展的 Symfony Doctrine 的 Oracle 数据库:

https://github.com/beberlei/DoctrineExtensions

TO_CHAR: DoctrineExtensions\Query\Oracle\ToChar

TO_DATE:DoctrineExtensions\Query\Oracle\ToDate

一旦加载到 doterin.yaml 中,以下 SELECT 语句也将起作用:

SELECT
    TO_CHAR(TO_DATE(COLUMNNAME,'DD-MON-YY'),'YYYY-MM-DD') AS FIELDNAME

FROM
    Connection:Entity

答案 3 :(得分:-1)

您好,您可以尝试以下查询:

SELECT DATE_FORMAT (DATE_COLUMN, '%Y-%m-%d') FROM YOUR_TABLE