问题已解决 - 请参阅本文末尾。
当我在 select 子句中调用 to_date 时,一切正常 - 得到包含 12 条记录的结果集:
select value1,to_date(value1,'DD.MM.YYYY')
from variableindex
where
value1 is not null
and value1 <> '0'
and creation_time_ > to_timestamp('20140307','YYYYMMDD')
order by 2
Run Code Online (Sandbox Code Playgroud)
回报
'VALUE1' 'TO_DATE(VALUE1,'DD.MM.YYYY')'
'25.11.2013' 25.11.13
'12.03.2014' 12.03.14
'12.03.2014' 12.03.14
'12.03.2014' 12.03.14
'12.03.2014' 12.03.14
'12.03.2014' 12.03.14
'14.03.2014' 14.03.14
'14.03.2014' 14.03.14
'14.03.2014' 14.03.14
'14.03.2014' 14.03.14
'20.03.2014' 20.03.14
'20.03.2014' 20.03.14
Run Code Online (Sandbox Code Playgroud)
每个日期字符串都已按预期进行转换。
如果我将以下行添加到 where 子句
and to_date(value1,'DD.MM.YYYY') < to_date('20140301','YYYYMMDD')
Run Code Online (Sandbox Code Playgroud)
我会收到:
ORA-01847: Tag des Monats muss zwischen 1 und letztem Tag des Monats …Run Code Online (Sandbox Code Playgroud)