日期计算不是我的强项,我需要一点帮助。我正在尝试检查所选字段中的日期(即时间戳)是否在当天中午 12 点之前。提前致谢。
场景:如果在当天中午 12 点之前下订单,则将获得 x 资格,否则获得 y。因此,我在选择语句中得到该订单的创建日期(包括时间)。
日期计算不是我的强项,我需要一点帮助。我正在尝试检查所选字段中的日期(即时间戳)是否在当天中午 12 点之前。提前致谢。
场景:如果在当天中午 12 点之前下订单,则将获得 x 资格,否则获得 y。因此,我在选择语句中得到该订单的创建日期(包括时间)。
该DATE
类型不携带时间信息,因此您可以定义日期的时间点。TIMESTAMP
如果时间信息也很重要,您应该使用类型。无论如何,假设该字段在下午 12 点存储日期,然后您使用
WHERE date_field <= CURRENT_DATE;
CURRENT_DATE
是所谓的上下文变量,显然它返回当前日期。CURRENT_TIMESTAMP
并且CURRENT_TIME
也可用。您可以使用DATEADD和DATEDIFF内置函数进行一些日期计算。
所以如果该字段实际上是时间戳,你可以这样做
WHERE date_field < DateAdd(12 HOUR to cast(CURRENT_DATE as timestamp));