动态SQL查询To_Date格式Oracle

时间:2013-12-09 01:15:57

标签: sql oracle oracle-sqldeveloper dynamic-sql

我正在使用Oracle SQL Developer。

我的导师要求我们将动态查询包含在我们的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"和一个输入框。

2 个答案:

答案 0 :(得分:0)

尝试to_date函数。以下是to_date函数的一些提示。

http://www.dba-oracle.com/f_to_date.htm

答案 1 :(得分:0)

SQL Developer不是用户的工具。所以你真的不必担心'20140309'格式不是用户友好的。对于真实用户,您可以编写一个接受日期的真实应用程序(例如,使用日历弹出窗口),并以适当的格式将其发送到数据库。

但是为了在SQL Developer中使它更方便,你可以使用to_date而不使用格式。将环境和数据库设置为相同的区域设置后,您只需输入您习惯的格式的日期(例如9.3.13或09.03.2013或2013年3月9日),它就可以全部工作。