我正在努力完成学校作业,我必须根据两个日期之间的差异更新表格列。如果差异低于或等于表中的“成熟度”列,我必须将“付款”列设置为“付款确认”,如果差异大于“到期日”,则“付款”必须设置为“Bilker” ”。
我试过
#IFNOTFieldExists(TableName=Invoices;FieldName=Payment;)
Alter table Invoices ADD COLUMN Payment TEXT
GO
UPDATE Invoices SET Payment = CASE
WHEN DATEDIFF (Day, Datum, ZaplateneDna) <= Maturity
THEN 'PaymentOK'
ELSE 'Bilker'
END
#ENDIF
尝试过IF THEN语句,更新CASE语句,但我仍然遇到语法错误。 我在sql中有点新,我无法组合UPDATE column1如果DATEDIFF是&lt; =或&gt;然后将Column2设置为(基于&lt;&gt;符号)。
有任何想法或建议吗? 提前谢谢,非常感谢。
答案 0 :(得分:2)
UPDATE Invoices
SET Payment = CASE
WHEN DATEDIFF(DAY, [Date], DateOfPayment) <= Maturity
THEN 'PaymentOK'
ELSE 'Bilker'
END