求满足特定条件的Microsoft SQL更新UserInAppPurchase表的SQL语句
解决方法:更新指定条件的内购有效期
没问题,我来帮你实现这个SQL更新操作。咱们先明确需求:需要找到UserInAppPurchase表中满足以下三个条件的记录,然后把它们的ValidTo日期延长一年:
- 内购项目ID为
com.crew.1year - 平台是
Android ValidTo的日期属于当前月份
第一步:先确认要更新的记录(重要!)
在执行更新之前,建议先运行查询确认符合条件的记录是否正确,避免误操作:
SELECT * FROM UserInAppPurchase WHERE ProductID = 'com.crew.1year' AND Platform = 'Android' AND YEAR(ValidTo) = YEAR(GETDATE()) AND MONTH(ValidTo) = MONTH(GETDATE());
第二步:执行更新操作
确认记录无误后,就可以运行下面的UPDATE语句来延长有效期:
UPDATE UserInAppPurchase SET ValidTo = DATEADD(year, 1, ValidTo) WHERE ProductID = 'com.crew.1year' AND Platform = 'Android' AND YEAR(ValidTo) = YEAR(GETDATE()) AND MONTH(ValidTo) = MONTH(GETDATE());
关键细节解释
DATEADD(year, 1, ValidTo):这是SQL Server专用的日期函数,作用是把ValidTo字段的日期往后增加1年,完美匹配你的需求。YEAR(ValidTo) = YEAR(GETDATE()) AND MONTH(ValidTo) = MONTH(GETDATE()):通过提取ValidTo的年份和月份,与当前系统日期的年、月做对比,确保只筛选出本月的记录。
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

