日期计算不是我的强项,我需要一些帮助。 我正在尝试检查所选字段中的日期(时间戳)是否在当天中午12点之前。提前谢谢。
场景:如果订单在当天中午12点之前下达,则它将符合x的条件,否则它将获得y。所以我的订单创建日期(包括时间)就是我在select语句中得到的。
答案 0 :(得分:1)
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));