私はT-SQLを初めて使用し、コードに出くわし、誰かが何が起こっているのかを理解するのを手伝ってくれるかどうか疑問に思っていました. コードのポイントは、次の支払いの日付を計算することです。
CASE
WHEN MONTH(table.field-10) < MONTH(GETDATE())
THEN CONVERT(DATE,((MONTH(GETDATE()) - MONTH(table.field-10)) *30) + (table.field))
WHEN MONTH(table.field-10) = MONTH(GETDATE())
THEN CONVERT(DATE,FA_NEXTDUE)
WHEN MONTH(table.field-10) > MONTH(GETDATE())
THEN CONVERT(DATE,(table.field) - ((MONTH(table.field-10) - MONTH(GETDATE())) *30))
END AS CurrentDueDate