我有一个order by子句的查询,如下所示。
SET @SQLquery = 'SELECT Cola,Colb FROM Test
ORDER BY Cola DESC,Colb'
我有一个变量,其中包含带order by子句的查询。
注意:我只是想按条款ORDER BY Cola DESC,Colb
删除订单。我可能在ORDER BY
中有多列,因此基本上@SQLQuery
将动态。
答案 0 :(得分:1)
试试这个:
SET @SQLquery = LEFT(@SQLquery, PATINDEX('%ORDER BY%', @SQLquery) - 1)
如果您不确定ORDER BY
是否包含@SQLquery
,那么您可以使用:
SET @SQLquery = LEFT(@SQLquery, CASE WHEN PATINDEX('%ORDER BY%', @SQLquery) <> 0
THEN PATINDEX('%ORDER BY%', @SQLquery) -1
ELSE LEN(@SQLquery)
END)