小编Jog*_*ggl的帖子

ORA-01847 月份中的某一天必须介于 1 和月份最后一天之间 - 但数据正常

问题已解决 - 请参阅本文末尾。

当我在 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)

sql oracle date

5
推荐指数
1
解决办法
12万
查看次数

标签 统计

date ×1

oracle ×1

sql ×1