从动态sql中删除最后一个逗号

时间:2017-01-26 11:15:15

标签: sql sql-server sql-server-2008

如何从动态查询的一部分中删除最后一个逗号

set @Query += '[A].[ID].&[' + Convert(varchar,SUBSTRING(@string, @start, @end - @start) ) +']&[CAN],[A].[ID].&[' +Convert(varchar,SUBSTRING(@string, @start, @end - @start) ) + ']&[usa],';

2 个答案:

答案 0 :(得分:1)

一种常用技术使用LeftLen函数

set @Query = Left(@Query,len(@Query)-1)

更新:在while循环/光标竞争之后或构建整个查询之后运行上述语句

答案 1 :(得分:0)

使用stuff()修改逻辑并删除第一个逻辑:

set @Query = ',[A].[ID].&[' + . . . ';

然后将其删除为:

set @Query = stuff(@Query, 1, 1, '');