我必须写一个更新查询。如果special_member帐户没有被取消,那么在该where条款中,我必须通过在到期日期上添加 15 天的宽限期来使用此条件,并将其与今天的日期进行比较:
Convert(date,MEMBER_EXPIRY_DATE + 15) >= Convert(date,GETDATE())
如果会员资格被取消,那么我必须将实际到期日期与今天的日期进行比较。这是我的完整查询:
UPDATE SPECIAL_MEMBER SET SAVINGS_PERCENT = 10, ORDER_COUNT = 1
WHERE SPECIAL_MEMBER = '4382' AND CASE WHEN (CANCELLED = 0) THEN
Convert(date,MEMBER_EXPIRY_DATE + 15) >= Convert(date,GETDATE())
ELSE (Convert(date,MEMBER_EXPIRY_DATE) >= Convert(date,GETDATE())) END
当我执行它时,我得到:
'>' 附近的语法不正确。