Oracle动态查询中的日期字符串问题

日期: 2013-08-26 作者:Dan Clamage翻译:孙瑞 来源:TechTarget中国 英文

问:在进行数据库迁移之后,我遇到了这样的问题:如果用户设置一个条件而这个条件中包含了日期(datefield > ‘YYMMDD’)的话,那么动态查询就会出错。相反,如果不包含日期,动态查询就能正常运行。另外,如果条件中包含了日期,而用户限定另外一个条件,那么查询也是正常的。错误提示“Can’t get folder.”我没法读SQL代码,以您的经验来看,这是什么原因? 答:在运行动态SQL的时候,最好是能看看查询如何生成的。

我会把它写入dbms_output或者utl_file,然后再进行错误检查,你还可以使用相应的工具,比如Toad。可能的话尽量使……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

问:在进行数据库迁移之后,我遇到了这样的问题:如果用户设置一个条件而这个条件中包含了日期(datefield > 'YYMMDD')的话,那么动态查询就会出错。相反,如果不包含日期,动态查询就能正常运行。另外,如果条件中包含了日期,而用户限定另外一个条件,那么查询也是正常的。错误提示“Can't get folder.”我没法读SQL代码,以您的经验来看,这是什么原因?

答:在运行动态SQL的时候,最好是能看看查询如何生成的。我会把它写入dbms_output或者utl_file,然后再进行错误检查,你还可以使用相应的工具,比如Toad。可能的话尽量使用绑定变量(前面加上冒号),对日期执行显式转换,包括日期格式掩码。最后,还要包含世纪部分的日期字符串,Y2K等。

翻译

孙瑞
孙瑞

相关推荐