【发布时间】:2021-09-26 17:58:54
【问题描述】:
我正在尝试选择我的某一列中的日期值是否发生在一定年份之前。
我正在尝试的代码:
SELECT CASE
WHEN CAST(my_date AS DATE) + INTERVAL '10' YEAR < CURRENT_DATE THEN 'OVER 10 YEARS AGO'
ELSE NULL AS date_check
对于我正在使用的日期(例如 2019-09-30),我的预期输出应该是 NULL,因为它们属于过去 10 年,但出于某种原因,我得到了 OVER 10 YEARS AGO 的所有内容。
但是,当我使用 10 多年前的实际值(例如 2010-07-17)进行测试时,我也得到了预期的 OVER 10 YEARS AGO。
如何才能实现我想要做的事情?我的代码似乎有什么问题?
【问题讨论】: