Firebird检查日期是否在当天中午12点之前

时间:2013-02-19 10:21:14

标签: firebird

日期计算不是我的强项,我需要一些帮助。 我正在尝试检查所选字段中的日期(时间戳)是否在当天中午12点之前。提前谢谢。

场景:如果订单在当天中午12点之前下达,则它将符合x的条件,否则它将获得y。所以我的订单创建日期(包括时间)就是我在select语句中得到的。

1 个答案:

答案 0 :(得分:1)

DATE类型不包含时间信息,因此您可以自行定义日期的时间点。如果时间信息也很重要,您应该使用TIMESTAMP类型。 无论如何,让我们说该字段将日期存储在中午12点,然后你使用

WHERE date_field <= CURRENT_DATE;

CURRENT_DATE是所谓的上下文变量,显然返回当前日期。 CURRENT_TIMESTAMPCURRENT_TIME也可用。您可以使用DATEADDDATEDIFF内置函数进行日期计算。

因此,如果字段实际上是时间戳,则可以像

那样执行
WHERE date_field < DateAdd(12 HOUR to cast(CURRENT_DATE as timestamp));