【发布时间】:2015-01-11 11:53:46
【问题描述】:
目前我正在尝试将日期字段与以下语句进行比较
AND (AIA.INVOICE_DATE >= NVL(TO_DATE(:P_INV_DT_FROM,'DD-MON-YYYY'), '01-JAN-1900')
OR AIA.INVOICE_DATE IS NULL)
AND (AIA.INVOICE_DATE <= NVL(TO_DATE(:P_INV_DT_TO,'DD-MON-YYYY'), '31-DEC-4712')
OR AIA.INVOICE_DATE IS NULL)
但是,我收到以下错误,
ORA-01861: 文字与格式字符串不匹配 01861. 00000 - “文字与格式字符串不匹配”
*原因:输入中的文字必须与输入中的文字长度相同 格式字符串(前导空格除外)。如果 “FX”修饰符已打开,文字必须完全匹配, 没有多余的空格。
*操作:更正格式字符串以匹配文字。
P.S: AIA.INVOICE_DATE 的形式是 'DD-MON-YYYY' 和 p_inv_dt_from 和 p_inv_dt_to 的形式是 'YYYY/MM/DD HH24:MM:SS'
【问题讨论】:
-
这些不是日期值:
'01-JAN-1900','31-DEC-4712' -
另外,如果
AIA.INVOICE_DATE有任何“格式”,它必须是字符串,而不是日期列。
标签: sql string oracle date ora-01861