如何获得两个日期之间的差异(informix)?

时间:2014-04-16 08:21:56

标签: sql date stored-procedures informix

如何以整数格式(

)获取两个日期(informix)之间的差异
day = 15
mon = 2
year = 1

2 个答案:

答案 0 :(得分:3)

Informix中有两组日期/时间值:DATE和DATETIME。

DATE类型是最早的(它是基于SQL的Informix的前身),并且表示自参考日期以来的整数天数(第0天是1899-12-31,因此第1天是1900 01-01)。

您可以通过从另一个中减去一个来获得两个DATE值之间的差异。

DATETIME系统较新(但仍旧 - 大约1990年)。您可以获取两个DATETIME YEAR TO DAY值之间的差异,并获得一个INTERVAL DAY TO DAY(基本上是天数)的结果。

您还可以获取两个DATETIME YEAR TO MONTH值之间的差异,并获得一个间隔年数的结果。

但是,没有办法在年,月和日中有所不同,因为没有简单的方法来推断该值。事实上,ISO SQL识别两类INTERVAL:YEAR-MONTH组中的那些和DAY-SECOND组中的那些。你不可能有跨越MONTH / DAY障碍的INTERVAL。

答案 1 :(得分:1)

使用MDY功能:

select mdy(2,15,2014) - mdy(1,15,2014) from sysmaster:sysdual