3

我的理解是,为了与 Interbase v6 保持一致,Firebird 2.5 不支持 SQL-92INTERVAL关键字。至少,建议这个参考和我重复的 SQLCODE -104 错误试图让INTERVALs 在 Firebird 的isql(1)下工作。

TIMESTAMP那么,在进行算术运算时,我该如何解释我们民间计算时间的不规则性——月份并不统一,有储蓄时间和跳跃调整的日子也不一样,更不用说混乱的年份等了在火鸟 2.1 下?

如何轻松确定比给定的“早一个月”或“晚一周” TIMESTAMP?“一天后”或“两小时前”怎么样?

4

5 回答 5

5

您可以使用DateAdd()DateDiff()内置函数。
或者,您也可以使用经典的日期算术

于 2010-01-22T21:28:25.967 回答
1

如果这没有在 Firebird 中实现,也许您可​​以通过调用您的 sql 服务器的技术来实现,并获得结果时间戳?我知道它可以很容易地用 Java 或 .Net 完成

于 2010-01-22T20:15:47.780 回答
1

也可以使用外部UDF fbudf.dll的功能

于 2010-01-23T13:36:07.847 回答
1

有一个不错的外部 UDF,名为 rFunc:http: //rfunc.sourceforge.net/ ,它有不错的 Date 函数,例如 DaysBetween 和 IncDate(d, i1, i2, i3) 等等

于 2011-01-19T15:17:59.243 回答
0
  1. 在循环中从时间戳日期中减去一天,直到月份发生变化。
  2. 在循环中从时间戳日期中减去一天,直到日期变为 SUNDAY。
于 2011-01-20T14:39:43.437 回答