sql 分隔符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 分隔符相关的知识,希望对你有一定的参考价值。
表A id name
001 苹果
002 香蕉
003 橘子
004 菠萝
现在在表B中有这么一个字段';001;002;004;',如何用sql语句取到表A中对应的name值,并且这么显示'苹果;香蕉;菠萝',求救,非常感谢
if exists(select name from sysobjects where id = object_id(N'jk01_f_split'))
drop function jk01_f_split
go
create function jk01_f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>''
insert @temp values(@SourceSql)
return
end
go
用法
select * from jk01_f_split(字段名, '分隔符')
后续的汉字拼接显示,建议你用其它程序实现 参考技术A 如何用sql语句取到表A中对应的name值
select b.id ,a.name from b join a on b.id like '%a%'; 参考技术B select 001 as 苹果,002 as 香蕉,004 as 菠萝 from 表B 参考技术C select name from A where id in(select B的字段 from B where B的字段='001') 参考技术D select id,name from A where id in(select B的字段 from B where B的字段 in('001','002','004'));
以上是关于sql 分隔符的主要内容,如果未能解决你的问题,请参考以下文章