我数据库里有个字段classArray 存的数据是这样的 10/11/22/66/55/13
现在我要检索出 classArray 里包含10的数据
select * from table where 10 in (replace(classArray,'/',',')) 报错
因为 replace(classArray,'/',',') 这里面的数据是这样的 '10,11,22,66,55,13' 语句就变成这样了:
select * from table where 10 in ('10,11,22,66,55,13') 或
select * from table where '10' in ('10,11,22,66,55,13')
各位大侠帮帮我 谢谢了
现在我要检索出 classArray 里包含10的数据
select * from table where 10 in (replace(classArray,'/',',')) 报错
因为 replace(classArray,'/',',') 这里面的数据是这样的 '10,11,22,66,55,13' 语句就变成这样了:
select * from table where 10 in ('10,11,22,66,55,13') 或
select * from table where '10' in ('10,11,22,66,55,13')
各位大侠帮帮我 谢谢了
/*按照符号分割字符串*/
create function [dbo].[m_split](@c varchar(2000),@split varchar(2))
returns @t table(col varchar(200))
as
begin
while(charindex(@split,@c)<>0)
begin
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'')
-- SET @c = substring(@c,charindex(' ',@c)+1,len(@c))
end
insert @t(col) values (@c)
return
end
/*测试
select * from dbo.m_split('1,2,3,4,5',',')
*/
SELECT * FROM dbo.m_split('10/11/22/66/55/13/101','/') WHERE col LIKE '%'+'10'+'%'
/*结果
col
-------
10
101
*/
问下 SELECT * FROM dbo.m_split('10/11/22/66/55/13/101','/') WHERE col LIKE '%'+'10'+'%'
这句里的
dbo.m_split('10/11/22/66/55/13/101','/') 改成 dbo.m_split(字段名,'/') 怎么写?