在我的选择查询中,我有以下
substr(to_date(NEXT_ARRIVAL_DATE, 'yyyy-mm-dd'), 0, 10)
哪个收益率:
08-JUN-11
我需要的是产量:
2011-06-08
编辑: 数据出错了。抱歉。以下工作正常
to_char(to_date(NEXT_ARRIVAL_DATE, 'mm/dd/yyyy'), 'YYYY-MM-DD') || ' 00:000:00'
答案 0 :(得分:3)
您的DATE_NEXT_ARRIVAL列显然有一个日期数据类型。
SQL> create table t23 (next_arrival_date date)
2 /
Table created.
SQL> insert into t23 values (sysdate+7)
2 /
1 row created.
SQL> select to_date(next_arrival_date, 'YYYY-MM-DD')
2 from t23
3 /
TO_DATE(N
---------
11-JUN-08
SQL>
如果您想以其他格式显示日期,则需要使用TO_CHAR()
,即将其转换为字符串:
SQL> select to_char(next_arrival_date, 'YYYY-MM-DD')
2 from t23
3 /
TO_CHAR(NE
----------
2011-06-08
SQL>
如果您必须为大量日期执行此操作,则可能需要更改会话设置....
SQL> alter session set nls_date_format='YYYY-MM-DD'
2 /
Session altered.
SQL> select sysdate, next_arrival_date
2 from t23
3 /
SYSDATE NEXT_ARRIV
---------- ----------
2011-06-01 2011-06-08
SQL>
答案 1 :(得分:1)
to_char(NEXT_ARRIVAL_DATE, 'yyyy-mm-dd')
但看起来NEXT_ARRIVAL_DATE的值是所需格式的字符串。
所以你可以select NEXT_ARRIVAL_DATE from ...