34,587
社区成员
发帖
与我相关
我的任务
分享
DECLARE @LASTYEAR1 VARCHAR(4),
@XORDER INT ,
@VALUE1 NUMERIC(18,4) ,
@S1 NVARCHAR(2000), --这里改类型
SELECT TOP 1 @LASTYEAR1=Y FROM TB ORDER BY Y DESC
SELECT @XORDER=CASE WHEN COUNT(1)%2=0 THEN COUNT(1)/2 ELSE COUNT(1)/2+1 END
FROM TB WHERE Y=@LASTYEAR1
SET @S1='SELECT TOP 1 @VALUE1=VALUE1 FROM (SELECT TOP '+CAST(@XORDER AS VARCHAR(10))+' VALUE1 FROM TB WHERE Y='''+@LASTYEAR1+''' ORDER BY VALUE1) A ORDER BY VALUE1 DESC'
EXEC SP_EXECUTESQL @S1,N'@VALUE1 NUMERIC(18,4) OUTPUT',@VALUE1 OUTPUT --这里加 OUTPUT
SELECT @VALUE1