- 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