當前位置:首頁 » 編程語言 » sql欄位中含有逗號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql欄位中含有逗號

發布時間: 2022-09-21 21:46:13

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