我必须编写一个查询,以'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
答案 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_FORMAT
和STR_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