Sql can';t使用';其中';部分
仅当表中的字段距离上次更新已有一个月时,我才尝试更新该字段 我试过:Sql can';t使用';其中';部分,sql,sql-server-2008,Sql,Sql Server 2008,仅当表中的字段距离上次更新已有一个月时,我才尝试更新该字段 我试过: update studentClasses set lastCharge = getDate(), classBalance = classBalance - Price WHERE DATEDIFF(MONTH, classBalance.lastCharge , GETDATE()) = 1 AND classBalance.endDate < GETDATE() updatestudentclasses set
update studentClasses set lastCharge = getDate(), classBalance = classBalance - Price
WHERE DATEDIFF(MONTH, classBalance.lastCharge , GETDATE()) = 1
AND classBalance.endDate < GETDATE()
updatestudentclasses set lastCharge=getDate(),classBalance=classBalance-Price
其中DATEDIFF(月,classBalance.lastCharge,GETDATE())=1
和classBalance.endDate
不起作用..:(
有人知道我怎么做吗
提前谢谢
(我使用的是sql server 2008 express)您将
classBalance
引用为studentClasses
表中的表和列。
也许可以试试:
update studentClasses set lastCharge = getDate(), classBalance = classBalance - Price
WHERE DATEDIFF(MONTH, lastCharge , GETDATE()) = 1
AND endDate < GETDATE()
updatestudentclasses set lastCharge=getDate(),classBalance=classBalance-Price
其中DATEDIFF(月、上次费用、GETDATE())=1
和endDate
(假设endDate
和Price
在studentClasses
中,并且classBalance
是一列,而不是一个表)我认为DATEDIFF(月,
没有达到你的预期。阅读手册。(它计算月边界数)。使用DATEDIFF(天…)30或更好的endDate=DATEADD(月-1,GETDATE())