ORA-01861: 文字与格式字符串 01861 不匹配
ORA-01861: literal does not match format string 01861
我已经给出了我收到错误的查询 SQL Error: ORA-01861: literal does not match format string 01861
。 ORD_DEL_DATE
是日期数据类型,值存储在 27-SEP-2017 12-00-00
在此列中。我不可能更改 NLS
设置所以如果我可以更改查询并使其成为 运行.
是否可能
SELECT * from Report_Result
WHERE ORD_DEL_DT >= TO_CHAR( TRUNC ( SYSDATE , 'IW' ) - 7 , 'YYYYMMDD' )
and ORD_DEL_DT < TO_CHAR ( TRUNC ( SYSDATE , 'IW' ), 'YYYYMMDD' )
右侧 returns 类似“20171009”的八位 VARCHAR2 字符串。由于左侧是日期,Oracle 尝试使用 NLS 日期参数将此字符串转换为日期,但失败了,因为该字符串与 NLS 设置不匹配。
你为什么要使用字符串?如果 ORD_DEL_DT
是一个日期,将其与 trunc(sysdate, 'iw') - 7
和 trunc(sysdate, 'iw')
.
进行比较
我已经给出了我收到错误的查询 SQL Error: ORA-01861: literal does not match format string 01861
。 ORD_DEL_DATE
是日期数据类型,值存储在 27-SEP-2017 12-00-00
在此列中。我不可能更改 NLS
设置所以如果我可以更改查询并使其成为 运行.
SELECT * from Report_Result
WHERE ORD_DEL_DT >= TO_CHAR( TRUNC ( SYSDATE , 'IW' ) - 7 , 'YYYYMMDD' )
and ORD_DEL_DT < TO_CHAR ( TRUNC ( SYSDATE , 'IW' ), 'YYYYMMDD' )
右侧 returns 类似“20171009”的八位 VARCHAR2 字符串。由于左侧是日期,Oracle 尝试使用 NLS 日期参数将此字符串转换为日期,但失败了,因为该字符串与 NLS 设置不匹配。
你为什么要使用字符串?如果 ORD_DEL_DT
是一个日期,将其与 trunc(sysdate, 'iw') - 7
和 trunc(sysdate, 'iw')
.