一般写法应该是: order by number desc 
现在我的 number desc 是变量传来的 。
请问怎么转换?convert(VARCHAR(256), @sortColumn)  这样 好像不对

解决方案 »

  1.   

    ALTER PROCEDURE [dbo].[Search]
         @pageIndex             int,
         @pageSize              int,
         @key                   nvarchar(256),
         @query                 nvarchar(256),
         @style                 tinyint,
         @sortColumn            nvarchar(256),
         @sortDirection         nvarchar(256)
    AS
    BEGIN
    SET NOCOUNT ON
        declare @sql nvarchar(500)
        set @sql=N'
        DECLARE @tempTable TABLE
        (
            TID int identity(1,1), 
            Number  nvarchar(30),
            Price   float
        ) '    IF @style = 1
           IF len(@query) = 3
               set @sql=@sql+N'
    INSERT INTO @tempTable
    ( Number,
    Price

    SELECT number,price
    FROM   dbo.Plate 
    WHERE secondNumber ='''+ @key +N''' AND LastNumber ='''+ @query + 
                N''' AND style='''+ @style +N''' ORDER BY '+@sortColumn+' '+@sortDirection
         EXEC(@sql)
    end
      

  2.   

    Thanks a lot~ ~~ !