SQL的 Split函数


表 BD_Employe

ID     name
1 A1

2

A2

3

A3

 

表 bd_mfc 

ID   NAme DLManage_C  isdl
1 mfc1 1,2,3 1
2 mfc2   0
3 mfc3 2,3 1

 

 

create function f_split(@c varchar(2000),@split varchar(2))
returns @t table(col varchar(20))
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),'')
end
insert @t(col) values (@c)
return
end
go
DECLARE @str VARCHAR(200)=''
SET @str=(SELECT TOP 1 DLManage_C FROM bd_mfc WHERE isdl=1 and id =1)
SELECT * FROM BD_Employee WHERE rtrim(id) IN(
select * from dbo.f_split(@str,',')
)
drop function f_split


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM