SQL里拆分的方法: declare @col varchar(1000) set @col='aa,b,dc,d,e,f' select substring(@col,number,charindex(',',@col+',',number+1)-number) from master..spt_values where type='p' and number<=len(@col) and substring(@col,number,1)<>',' and substring(','+@col,number,1)=',' /* -------------------------------- aa b dc d e f(6 行受影响) */
我想知道如何在存储过程中实现这个for循环,因为还要做其它数据操作,所以写到一个存储过程中比较方便。
45
23
66
11然后用这个临时表去匹配相关记录。
declare @col varchar(1000)
set @col='aa,b,dc,d,e,f'
select substring(@col,number,charindex(',',@col+',',number+1)-number) from master..spt_values
where type='p' and number<=len(@col) and substring(@col,number,1)<>',' and substring(','+@col,number,1)=','
/*
--------------------------------
aa
b
dc
d
e
f(6 行受影响)
*/
master..spt_values
这是DB自带的函数吗?
能否帮忙解释下where条件里的意思?
感谢!