【发布时间】:2020-01-16 08:50:49
【问题描述】:
我在使用 Oracle Apex 工具时遇到问题。也就是说,我正在制作一个餐桌预订申请,我想打印特定日期下的所有预订。所以我选择了打印所有预订的日期,按下打印按钮,Apex 向我抛出以下错误:
ORA-19202: 处理 XML 时出错 ORA-01843: 无效 月。
之前,我已经巧妙地添加了 AOP 和一个 word 文档。
在右侧窗口中,我选择了 SQL 数据类型:SQL,并在代码数据中放置了代码。 后来我在代码中添加了“TO DATE”,但这并不能解决我的问题。
代码如下:
select
'file1' as "filename",
cursor(select
TO_DATE(D.SIFRA_DATUMA_REZERVACIJE, 'MM/DD/YYYY') as "datum_rezervacije",
cursor(select
R.SIFRA_REZERVACIJE as "sifra_rezervacije",
G.IME_PREZIME as "ime_prezime",
R.BROJ_OSOBA as "broj_osoba",
S.SIFRA_STOLA as "broj_stola",
R.NAPOMENA_REZERVACIJE as "napomena",
P.NAZIV_PRIGODE as "prigoda"
from
GOST G, PRIGODA P, STOL S, REZERVACIJA R where
R.SIFRA_GOST_REZERVACIJA = G.SIFRA_GOSTA
and R.SIFRA_STOL_REZERVACIJA = S.SIFRA_STOLA
and R.SIFRA_PRIGODE_REZERVACIJA = P.SIFRA_PRIGODE
and TO_DATE(R.SIFRA_DATUM_REZERVACIJE_REZERVACIJA, 'MM/DD/YYYY' ) = TO_DATE(:P6_NEW, 'MM/DD/YYYY') order by TO_DATE(R.SIFRA_DATUM_REZERVACIJE_REZERVACIJA, 'MM/DD/YYYY')) as "rezervacija"
from
DATUM_REZERVACIJE D
where
TO_DATE(D.SIFRA_DATUMA_REZERVACIJE, 'MM/DD/YYYY')= TO_DATE(:P6_NEW, 'MM/DD/YYYY')) as "data"
from dual;
【问题讨论】:
-
轻松为您提供帮助:minimal reproducible example.
-
今日提示:始终使用现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读(和维护),并且在需要时更容易转换为外连接。 -
给我们看输入数据,
:P6_NEW的日期格式真的是MM/DD/YYYY吗?然后 NEVER 对已经是DATE的值调用TO_DATE()。 -
R.SIFRA_DATUM_REZERVACIJE_REZERVACIJA列的数据类型是什么?另外,运行查询时绑定变量P6_NEW的值是多少?您可以在运行应用时(如果您已通过开发者身份验证)使用开发者工具栏中的会话按钮来查看项目的值。
标签: sql oracle plsql oracle-apex