-1

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

场景:如果在当天中午 12 点之前下订单,则将获得 x 资格,否则获得 y。因此,我在选择语句中得到该订单的创建日期(包括时间)。

4

1 回答 1

1

DATE类型不携带时间信息,因此您可以定义日期的时间点。TIMESTAMP如果时间信息也很重要,您应该使用类型。无论如何,假设该字段在下午 12 点存储日期,然后您使用

WHERE date_field <= CURRENT_DATE;

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

所以如果该字段实际上是时间戳,你可以这样做

WHERE date_field < DateAdd(12 HOUR to cast(CURRENT_DATE as timestamp));
于 2013-02-19T11:02:11.830 回答