1. sql查询以逗号分隔的字段
select keyword from aa where '|'+keyword+'|' like '%|021|%'
这种格式的就可以了。
2. SQL字段之间的“逗号”是什么作用的谢谢
这个是语法规定,意思是将每个字段分隔开的一个标志,不加逗号
不好明确是一个字段还是某一个字段的实例化
。
3. 如何使用sql语句查询文字中的逗号
sql=update table set 字段名=replace(字段名,',',',') WHERE 字段名
REGEXP ","
/*replace=>sql更改某个字符串某部分字符,中间为原始字符,后为理想字符
REGEXP为sql正则匹配模式。通配所有该字段含英文半角的*/
4. sql字段里有逗号隔开的数据,怎么取值
我有个招能达到你的效果,但是写法特别丑···
5. SQL字段之间的“逗号”是什么作用的谢谢
这个是语法规定,意思是将每个字段分隔开的一个标志,不加逗号 不好明确是一个字段还是某一个字段的实例化 。
6. sql 有个字段里存的用逗号相隔的数据。如何对这些数据进行统计
select count(*)from table where 字段 like ‘%负责人%’
想复杂一些,就要写函数了
create function func_splitstring
(@str nvarchar(max),@split varchar(10))
returns @t Table (c1 varchar(100))
as
begin
declare @i int
declare @s int
set @i=1
set @s=1
while(@i>0)
begin
set @i=charindex(@split,@str,@s)
if(@i>0)
begin
insert @t(c1) values(substring(@str,@s,@i-@s))
end
else begin
insert @t(c1) values(substring(@str,@s,len(@str)-@s+1))
end
set @s = @i + 1
end
return
end
select * from dbo.func_splitstring('人1,人2,人3', ',')
执行完之后,然后再用in的方法来进行统计
7. sql字段里有逗号隔开的数据,怎么取值
测试数据withtable1(id,code)as(select1,'001'unionallselect2,'001,002'unionallselect3,'001,002,003'),table2(code,name)as(select'001','数学'unionallselect'002','体育'unionallselect'003','美术')--用charindex和forxmlpath实现批量替换的功能,适用于sqlserver2005及以上版本selecttable1.id,stuff((select','+table2.namefromtable2wherecharindex(','+table2.code+',',','+table1.code+',')>0orderbytable2.codeforxmlpath('')),1,1,'')asnamefromtable1结果:
8. sql 某个字段的值是用逗号隔开的 如何判断是否包含
selecta.*,c.value('.','varchar(50)')aslistfrom表a
crossapply(selectcast('<row>'+replace(sxsx,',','</row><row>')+'</row>'asxml)asxmlcode)C1
crossapplyxmlcode.nodes('*')t(c)
wherec.value('.','varchar(50)')like'三星'
9. sql 两个字段都是逗号隔开 怎么精确查找某个值
/*
你是这个意思:
wid=1 wname=weibo 查询结果是id=1
wid=2 wname=qq 查询结果是id=1
wid=2 wname=weibo 查询结果是id=3
*/
--先创建一个函数,用来拆分字段值
Create Function f_split1(@SourceSql Varchar(8000),@StrSeprate Varchar(2))
Returns @temp Table(id Int Identity(1,1), col Varchar(100))
As
begin
Declare @ch as Varchar(100)
Set @SourceSql=@SourceSql+@StrSeprate
While(@SourceSql<>'')
Begin
Set @ch=left(@SourceSql,Charindex(@StrSeprate,@SourceSql,1)-1)
Insert @temp(col) Values(@ch)
Set @SourceSql=Stuff(@SourceSql,1,Charindex(@StrSeprate,@SourceSql,1),'')
End
Return
End
Go
--以下是查询代码
Select * From (
Select T.id,A.col As Wid,B.col As WName From T
Cross Apply dbo.f_split1(wid,',') A
Cross Apply dbo.f_split1(wname,',') B
where A.id=B.id) S
Where Wid='2' And WName='qq'
--解释,把字段按逗号拆分后,按自增id关联起来,及wid的第一个值跟wname的第一个值关联,以后依次,然后用等号查询你要的值