[英]MySQL Order By with Limit to MS SQL Order By
我目前正在将MySQL存储过程重写为MS SQL存储过程,但遇到了问题。
在MySQL存储过程中,有一个游标可以根据其最近的日期(effdate)选择一个值并将其放入变量(最税)。
SELECT stax FR transfers where masterkey = skey and effdate <= CURRENT_DATE()
order by effdate desc limit 1 into thesttax;
经过研究后,我发现使用MS SQL时必须使用TOP,因为在MSSQL Sql Server中没有使用LIMIT。
但是,我似乎无法弄清楚如何将该MySQL语句重写为MS SQL语句。 任何建议将不胜感激。
谢谢!
我期望这样的事情:
SELECT @thesttax = stax
FROM transfers
WHERE masterkey = @skey and effdate <= CURRENT_DATE()
ORDER BY effdate DESC;
几乎和其他答案一样,但是使用TOP可以得到以下信息:
SELECT TOP 1 @thesttax = stax
FROM transfers
WHERE masterkey = @skey and effdate <= CURRENT_DATE()
ORDER BY effdate DESC;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.