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的第一個值關聯,以後依次,然後用等號查詢你要的值