【发布时间】:2015-04-06 05:13:20
【问题描述】:
我有一个关于日期格式错误的问题。所以我有这个查询
SELECT TO_DATE (PS.PROJECT_START_DT, 'MM/DD/YYYY')
并给我ORA-01858:在需要数字的地方发现了一个非数字字符
我的表结构是这样的
PROJECT_START_DT PROJECT_END_DT JOB_NAME
2/5/2015 4/2/2015 W-IGG
2/18/2015 3/19/2015 W14056
2/5/2015 3/31/2015 W14013
请帮我解决日期格式的问题
【问题讨论】:
-
project_start_dt是date吗?还是varchar2?如果是date,顾名思义,为什么叫to_date?您只是想截断时间组件吗? -
是的,这是一个日期......
-
我的意图只是通过选择语句显示日期,我将进一步使用它来处理一些数据
-
您要选择
date吗?或者您想选择特定格式的varchar2?如果要选择date,只需选择date。 -
如果
PROJECT_START_DT应用to_date()完全没用。正如to_date()期望的VARCHAR参数Oracle 将首先将您的日期转换为varchar(使用您的NLS 设置定义的默认格式),然后to_date()将该varchar 转换回日期(开始与)。