Before/After 灵活日期的差异(个案)

Before/After Difference for a flexible Date (Case)

我有个小问题。我输出两个日期字段 (yyyy-mm-dd)。日期变化并且是灵活的。并非每个条目都有相同的日期字段。

我把一个日期字段作为一个固定点。如果日期早于日期 4 个月,则输出应为 'V'。如果它在它后面,一个 'N' 应该是输出。

SELECT
a.FIELD1,
b.FIELD2,
c.FIELD3,
d.DATE1, -- YYYY-MM-DD
e.DATE2 -- YYYY-MM-DD
CASE
    WHEN e.DATE2 >= d.DATE1 THEN = 'N'
    WHEN e.DATE2 < d.DATE1 THEN = 'V' -- >= 4 MONTHS BEFORE
END AS DATE_SIGN

我听说我得到的日期格式有问题。 Datediff 只适用于另一种格式,对吗?

我可以在这样的案例中使用这两个日期吗?

亲切的问候

Stephan,我不确定我是否理解正确,但我想你是在问如何检查 DATE2 是否比 DATE1 早 4 个月以上?

如果是这样,您可以在 SQL 服务器中使用 DATEADD 函数,它类似于

当 DATE2 < DATEADD(MONTH, -4, DATE1) THEN 'V'

在 MySQL 中,DATE_ADD 函数类似,但会是

当日期 2 < DATE_ADD(日期 1,间隔 -4 个月)时 'V'