使用TOP 1分配值时出错

时间:2012-05-30 18:07:53

标签: sql-server stored-procedures

这是导致错误的代码:

SELECT @maxNo = TOP 1 CONVERT(INT,(SUBSTRING(noorder,7,4))) 
FROM orders ORDER BY noorder DESC;

它返回:

  

Msg 156,Level 15,State 1,Line 2
关键字附近的语法不正确   '顶部'。

编辑: 找到了答案,我应该像这样编码:

select top 1 @maxNo = CONVERT(int, (SUBSTRING(noorder, 7, 4)))

来自订单 按订单排序desc;

感谢@RedFilter

2 个答案:

答案 0 :(得分:4)

select top 1 @maxNo = CONVERT(int, (SUBSTRING(noorder, 7, 4)))
from orders
order by noorder desc;

答案 1 :(得分:1)

 declare @maxNo int
 Set @maxNo = (Select TOP 1 CONVERT(INT,(SUBSTRING(noorder,7,4))) 
 FROM [order] order by  noorder desc)
 select @maxNo