Perl DBD::ODBC 与 Oracle 日期格式的问题
我正在使用 Perl 的 DBD::ODBC 连接到 Oracle 数据库。但是,当我尝试使用 where 子句中的日期执行选择查询时,会出现问题。出现此问题的原因似乎是数据库的日期格式为 DD-MON-RR(请参阅 DBD::ODBC::FAQ)。由于我无法更改数据库的设置,有人可以建议解决方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
数据库的默认日期格式仅在您依赖它时才重要,但通常情况下您不应该依赖它。您可以:
1) 在查询中指定日期格式:
2) 使用日期文字的 ANSI 标准:
The database's default date format only matters if you depend on it, which you should not in general. You can:
1) Specify the format of the date in your query:
2) Use the ANSI standard for date literals:
一种选择是使用 TO_DATE() 函数(或 ANSI 'DATE' 关键字)来转换每个查询中的格式:
如果您必须经常这样做,更好的选择是设置会话的格式:
然后:
One option is to use the TO_DATE() function (or the ANSI 'DATE' keyword) to convert the format in every query:
If you have to do this a lot, a better option would be to set the format for the session:
Then:
不要依赖隐式数据类型转换。您始终可以在 where 子句中指定日期格式:
Don't rely on implicit datatype conversion. You can always specify the date format in the where clause: