当前位置: 代码迷 >> Sql Server >> SELECT TOP(1)后赋值给变量的有关问题
  详细解决方案

SELECT TOP(1)后赋值给变量的有关问题

热度:211   发布时间:2016-04-27 11:28:56.0
SELECT TOP(1)后赋值给变量的问题
SQL code
DECLARE @assetClassNo NVARCHAR(50)    SET @assetClassNo='07-01-01'DECLARE @iNum NVARCHAR(10)SELECT TOP (1) RIGHT(卡片编号,4) FROM FIXEDASSET WHERE 卡片编号 LIKE [email protected]+'%' AND LEN(卡片编号)=LEN(@assetClassNo)+5 ORDER BY 卡片编号 DESC

上面这段SQL语句可以正常执行
SQL code
DECLARE @assetClassNo NVARCHAR(50)    SET @assetClassNo='07-01-01'DECLARE @iNum NVARCHAR(10)SELECT @iNum=TOP (1) RIGHT(卡片编号,4) FROM FIXEDASSET WHERE 卡片编号 LIKE [email protected]+'%' AND LEN(卡片编号)=LEN(@assetClassNo)+5 ORDER BY 卡片编号 DESC

但是如果我想赋值给一个变量的话就会报错了,请问怎么解决
(消息 156,级别 15,状态 1,第 3 行
关键字 'TOP' 附近有语法错误。
)

------解决方案--------------------
SQL code
--top 1 要放到前面DECLARE @assetClassNo NVARCHAR(50)    SET @assetClassNo='07-01-01'DECLARE @iNum NVARCHAR(10)SELECT TOP 1 @iNum=RIGHT(卡片编号,4) FROM FIXEDASSET WHERE 卡片编号 LIKE [email protected]+'%' AND LEN(卡片编号)=LEN(@assetClassNo)+5 ORDER BY 卡片编号 DESC
  相关解决方案