在sql的单个查询中使用charindex,交叉应用和子串

我有一个查询如下,从字符串
'dbo.proudction @prodid= ''1,2,10,4,5,6,7,8,13,16,17,3'' ,@stock= 0'
显示
@prodid= ''1,2,10,4,5,6,7,8,13,16,17,3''
declare @T table(Col1 varchar(100))
insert into @T values ('dbo.proudction @prodid= ''1,2,10,4,5,6,7,8,13,16,17,3'' ,@stock= 0')

select 
  substring(Col1, Start, Stop-Start)
from @T
  cross apply 
    (select charindex('''', Col1)+1) c1(Start)
  cross apply
    (select charindex('''', Col1, Start)) c2(Stop)
你能帮我理解这个查询的工作吗?     
已邀请:
第一个
cross apply
使用charindex找到字符串中的第一个引号。第二个cross apply定位字符串中的第二个引号。然后substring将在第一个引号和第二个引号之间提取文本。 结果
1,2,10,4,5,6,7,8,13,16,17,3
    

要回复问题请先登录注册