首页 > 数据库技术 > 详细

sql server 2008 数据库关于字段值为多值的时候,将其分开为几列形式

时间:2019-04-12 10:49:17      阅读:166      评论:0      收藏:0      [点我收藏+]

USE [TAFEL_PACK]
GO

/****** Object:  UserDefinedFunction [dbo].[SplitSubString]    Script Date: 04/12/2019 10:30:44 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO



CREATE function [dbo].[SplitSubString]
(
 @Expression varchar(8000)
,@Delimiter varchar(100)
,@ int
)
returns varchar(8000)
as
begin


declare @p int,
        @temp varchar(8000)
set @p = CharIndex(@Delimiter,@Expression)
set @temp = @Expression
if @p > 0
begin
   set @p = @p + len(@Delimiter) - 1
end
declare @i int
set @i = 1
while @i < @
begin  
   set @i = @i + 1
   set @Expression = substring (@Expression, @p + 1,len(@Expression) - @p )
   set @p = CharIndex(@Delimiter,@Expression)
   if @p > 0
       begin
          set @p = @p + len(@Delimiter) - 1
       end
   else
       begin
          break
       end
end

declare @s varchar(1000)
if @p = 0 and @i = @
begin
    if @ > 1
    begin
        if len(@Expression) < len(@temp)
        begin
            set @s=@Expression
        end
        else
            begin
                set @s = null
            end
    end
    else
        begin
            set @s=@Expression
        end
end
else if @i = @
begin
   set @s = substring(@Expression, 1,@p - len(@Delimiter))
end
return @s
end

GO



sql server 2008 数据库关于字段值为多值的时候,将其分开为几列形式

原文:https://www.cnblogs.com/hu-kang/p/10694493.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!