【发布时间】:2014-05-22 15:16:51
【问题描述】:
我正在使用以下查询从数据库中检索数据,但我得到了这个抛出: ORA-01858: 在需要数字的地方发现了一个非数字字符
这是我的查询
Select * from employees where req_date =TO_DATE('05-18-2014','MM-dd-yyyy');
谁能告诉我如何解决这个错误。
【问题讨论】:
-
req_date是什么类型的列?如果是日期列,则应使用
TO_DATEinstat ofTO_CHAR -
req_date 的类型是日期。
-
@Zaheer: TO_DATE('18-05-2014','dd-MM-yyyy') 与 TO_DATE('05-18-2014','MM-dd- yyyy')
-
您的查询看起来完全正常。您确定 req_date 是 DATE 列吗?您可以通过以下方式验证这一点:
select data_type from user_tab_columns where upper(table_name)='EMPLOYEES' and upper(column_name)='REQ_DATE'; -
@Kitezzz:为什么有必要这样做。在比较日期和日期时,nls_date_format 不起作用。