您的位置:首页 > 数据库

SQL分割字符串函数(行转列)

2009-08-18 17:51 337 查看
创建函数:

CREATE function [dbo].[SplitStr]
(
@SourceSql varchar(8000),
@StrSeprate varchar(100))
returns @temp table(F1 varchar(100)
)
as
begin
declare @ch as varchar(100)
set @SourceSql=@SourceSql+@StrSeprate
while(@SourceSql<>'')
begin
set @ch=left(@SourceSql,charindex(',',@SourceSql,1)-1)
insert @temp values(@ch)
set @SourceSql=stuff(@SourceSql,1,charindex(',',@SourceSql,1),'')
end
return
end

应用(存储过程):

CREATE PROCEDURE [dbo].[UP_Student_GetListByStatus]
@StatusList varchar(max)
AS
SELECT [Student].*
FROM Student
WHERE
[Student].[PK_Status] IN (SELECT F1 FROM dbo.SplitStr(@StatusList,','))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: