我正在使用Oracle SQL Developer。动态SQL查询To_Date格式Oracle
我的导师要求我们将动态查询包含到我们的SQL语句中。我查询的
部分是这样的:
where booking.date_event != to_date('20140309','yyyymmdd') and booking.occassion_id=2
我曾在某时修改查询一步包括动态方面。所以它现在看起来像这样:
where booking.date_event != to_date('20140309','yyyymmdd') and booking.occassion_id='&occassion_id'
这给了我弹出框来正确输入ID,它工作正常。
但是,我现在想要为日期做同样的事情。但显然,以'yyyymmdd'格式输入日期不是非常方便用户。
如何将我的查询更改为允许各种类型的日期格式或将消息添加到弹出框以通知用户使用正确的格式?此时弹出框只显示“Date_Event”和一个输入框。
你确定这是你的导师想要的吗?这听起来像你可能会混淆动态SQL与SQL Developer的内置绑定变量替换。 – Drumbeg
我很可能是。谷歌搜索后,我看到动态SQL指的是别的东西。不过,我认为这只是一个简单的方法来解释她之后的事情。我想她也可能称它为“交互式查询”。 –
如果问题是如何以不同的格式接受日期,那么在to_date()中使用任何你想要的。像to_date('31 -12-2014','dd-mm-yyyy')或to_date('31.12.14','dd.mm.yy'),只需阅读to_date文档即可。您可以一次尝试多次,但应该在applicetion一侧完成,而不是一般的数据库。 – Elhana