Sql 日期格式错误

Sql 日期格式错误,sql,oracle,Sql,Oracle,我得到一个错误: ORA-01858:在需要数字的位置找到非数字字符 执行此代码时: SELECT user_id, user_name, employee_id, start_date, end_date, last_update_date, MAX (start_date) OVER (PARTITION BY f.employee_id) AS max_start_date, MAX (last_update_date) O

我得到一个错误:

ORA-01858:在需要数字的位置找到非数字字符

执行此代码时:

SELECT 
    user_id,
    user_name,
    employee_id,
    start_date,
    end_date,
    last_update_date,
    MAX (start_date) OVER (PARTITION BY f.employee_id) AS max_start_date,
    MAX (last_update_date) OVER (PARTITION BY f.employee_id) AS max_last_update_date
FROM 
    refadm.cg1_fnd_user f
WHERE 
    TO_DATE (SYSDATE, 'DD/MON/YY  HH:MI:SSAM') <=
          COALESCE (TO_DATE (f.end_date, 'yyyy-MM-dd'), SYSDATE + 1)
不要将sysdate转换为日期-它已经是一个日期:


如果字符串的格式为“3/26/2013”-则在to_date函数中写入了错误的格式。它应该是截止日期f.结束日期'MM-DD-YYYY' 整个句子看起来像

WHERE SYSDATE <= TO_DATE(f.end_date, 'MM-DD-YYYY') OR
      f.end_date IS NULL

f、 end_date的日期值格式为-3/26/2013,因此您必须使用“dd/MM/yyyy”来_DATEf.end_date,如果它真的是字符串,即VARCAHR2数据类型。f.end_date的数据类型是什么?请阅读此内容
WHERE SYSDATE <= TO_DATE(f.end_date, 'DD/MM/YYYY') OR
      f.end_date IS NULL
WHERE SYSDATE <= TO_DATE(f.end_date, 'MM-DD-YYYY') OR
      f.end_date IS NULL