列出 [a,b,c] 到 a,b,c
List [a,b,c] to a,b,c
我收到一个带有此参数的过程:
exec do_something [a,b,c]
我需要进行如下查询:
select * from B where b not in ("a","b","c")
我该如何进行这种转换?
quick/easy 解决方案是使用 str_replace()
函数重新格式化输入参数,然后使用所述修改后的参数构建动态查询,例如:
declare @param varchar(100),
@query varchar(1000)
select @param = 'a,b,c'
select @param = '"' + str_replace(@param,',','","') + '"'
print "@param: %1!",@param
select @query = 'select * from B where b not in (' + @param + ')'
print "@query: %1!",@query
exec(@query)
go
@param: "a","b","c"
@query: select * from B where b not in ("a","b","c")
.... results of running query .....
我收到一个带有此参数的过程:
exec do_something [a,b,c]
我需要进行如下查询:
select * from B where b not in ("a","b","c")
我该如何进行这种转换?
quick/easy 解决方案是使用 str_replace()
函数重新格式化输入参数,然后使用所述修改后的参数构建动态查询,例如:
declare @param varchar(100),
@query varchar(1000)
select @param = 'a,b,c'
select @param = '"' + str_replace(@param,',','","') + '"'
print "@param: %1!",@param
select @query = 'select * from B where b not in (' + @param + ')'
print "@query: %1!",@query
exec(@query)
go
@param: "a","b","c"
@query: select * from B where b not in ("a","b","c")
.... results of running query .....