Oracle11g ORA-01830-日期格式图片结束…-但仅在where子句中-不在select中
我在这里创建了一个更容易测试的帖子: 这里描述了问题解决方案 我花了几个小时在网上搜索一个类似的问题——最后我想只有你能帮我 我通过SQL developer将查询发送到Oracle 11 您可以忽略其在pastebin中的完整子选择-我添加了每个列的转储以查看详细信息 在比较where子句中的时间戳时,我遇到了大问题:在最后一行中,我的基本sql没有where子句:Oracle11g ORA-01830-日期格式图片结束…-但仅在where子句中-不在select中,oracle11g,ora-01830,Oracle11g,Ora 01830,我在这里创建了一个更容易测试的帖子: 这里描述了问题解决方案 我花了几个小时在网上搜索一个类似的问题——最后我想只有你能帮我 我通过SQL developer将查询发送到Oracle 11 您可以忽略其在pastebin中的完整子选择-我添加了每个列的转储以查看详细信息 在比较where子句中的时间戳时,我遇到了大问题:在最后一行中,我的基本sql没有where子句: select prod,operating,fakeday,prod_origin,operating_origin, dump
select prod,operating,fakeday,prod_origin,operating_origin,
dump(prod),dump(fakeday),dump(operating) from
(
http://pastebin.com/wqX7dJPA
) sub
-- works: where sub.operating < to_timestamp('20140101','YYYYMMDD')
-- works: where sub.fakeday < to_timestamp('20140101','YYYYMMDD')
-- works NOT: where sub.prod < to_timestamp('20140101','YYYYMMDD')
如果我在“prod”的最后一行过滤中添加where子句,我将遇到
ORA-01830: Datumsformatstruktur endet vor Umwandlung der gesamten Eingabezeichenfolge
01830. 00000 - "date format picture ends before converting entire input string"
*Cause:
*Action:
如果我使用另一列sub.operating或sub.fakeday,我将收到正确的筛选结果列表
where sub.operating < to_timestamp('20140101','YYYYMMDD')
它将工作->显示产品运行的间隔结果
但是
将导致:
ORA-01847: Tag des Monats muss zwischen 1 und letztem Tag des Monats liegen
01847. 00000 - "day of month must be between 1 and last day of month"
请帮助-我不知道。更改会话集nls_date_format='DD.MM.YYYY HH24:MI:SS' 我将subselect移动到PasteBin您是否检查过tor.prod_days和lvx.value1中的所有值是否可以转换为具有指定掩码的时间戳?你给我们看的只有5行还是更多?我甚至可以把它缩减为一行结果集。我不明白转换为时间戳是否有效-请参见prod列-但与另一个时间戳的比较不起作用另一个重要信息-我可以调用select prod、OPERTING、prod OPERTING、,fakeday and it will work->显示了一个区间结果我在一个新的非常简单的查询中发现了一个类似的问题——ORA-01847:Tag des Monats muss zwischen 1 and letztem Tag des Monats liegen 01847。00000-月的第1天必须介于1和月的最后一天之间*原因:*操作:我将为此创建一个新帖子
select prod,operating,prod-operating,fakeday
where prod - operating = INTERVAL '0' DAY;
ORA-01847: Tag des Monats muss zwischen 1 und letztem Tag des Monats liegen
01847. 00000 - "day of month must be between 1 and last day of month"