我正在查询的表的日期存储为 varchar2。我需要使用 sysdate 比较存储为 varchar2 的BETWEEN sysdate-1 AND sysdate-30
日期(从上个月返回 varchar2 日期)。
指定时TO_DATE(varchar2, 'DD-MON-YYYY')
出现错误“文字与格式字符串不匹配”。
我被卡住了,因为 Oracle 文档说这是TO_DATE()
从 varchar2 转换时可以接受的格式。
更新:这是一个公司数据库,我没有设计数据库,只能使用我可用的数据库。数据集非常庞大,由 SCADA 设备自动更新,每天超过 10,000 台设备。
SELECT device_name, read_date, sysdate
FROM oracle_database
------- Data Returned by query --------
device_name read_date sysdate
Device 1 5/14/2013 22-Sep-14
Device 2 5/14/2013 22-Sep-14
Device 3 5/14/2013 22-Sep-14
Device 4 5/14/2013 22-Sep-14
Device 5 5/14/2013 22-Sep-14
Device 6 5/14/2013 22-Sep-14
Device 7 5/14/2013 22-Sep-14
使用 TO_DATE 的结果
选择设备名称,TO_DATE(读取日期,'DD-MON-YY'),系统日期
-------- 查询返回的数据 ----------
ORA-01861: 文字与格式字符串不匹配