我有一个具有日期时间列的表,我需要检索日期在前一个小时,一天,一周,一个月等的记录。
一个限制是我需要支持Oracle,MySQL,DB2和SQL SERVER。我只能用一个SQL查询来实现这个目的吗?
答案 0 :(得分:2)
由于他们都能以不同的方式处理日期时间,我猜你不能。您可以分离出特定于平台的内容,并在平台更改时进行交换。
如果您告诉我们有关此问题的更多信息,我们可能会提供更详细的建议。
答案 1 :(得分:1)
用户定义的功能。为每个RDBMS编写自己的DATEDIFF
- 等效项,并抽象出差异。
答案 2 :(得分:0)
ANSI SQL函数将是datediff()
。但我怀疑所有(特别是较旧的)SQL方言都支持它。
答案 3 :(得分:0)
这听起来是启动基于多层RDBMS的方法来检索数据的一个很好的理由。