繁体   English   中英

MySQL排序依据,限制为MS SQL排序依据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM