我正在使用它来比较年和月,但是当月份小于当前月份时它会失败,即使年份大于当前年份
SELECT * FROM DUMMY_TABLE WHERE
YEAR(PREV_ELIG_REV_DT) >= YEAR(CURRENT TIMESTAMP)
AND MONTH(PREV_ELIG_REV_DT) >= MONTH(CURRENT TIMESTAMP)
Run Code Online (Sandbox Code Playgroud)
当 YEAR 相等时,您可以添加和额外的条件来匹配情况。
SELECT *
FROM DUMMY_TABLE
WHERE
YEAR(PREV_ELIG_REV_DT) > YEAR(CURRENT TIMESTAMP)
OR ( YEAR(PREV_ELIG_REV_DT) = YEAR(CURRENT TIMESTAMP)
AND MONTH(PREV_ELIG_REV_DT) >= MONTH(CURRENT TIMESTAMP))
Run Code Online (Sandbox Code Playgroud)
更新
正如@Clockwork-Muse 所说,可能会产生更好性能的另一种方法是获取当月的开始并与之进行比较:
SELECT *
FROM DUMMY_TABLE
WHERE
PREV_ELIG_REV_DT >= (CURRENT DATE - (DAY(CURRENT DATE)-1) DAYS)
Run Code Online (Sandbox Code Playgroud)