SqlServer Function

Posted Kikyo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer Function相关的知识,希望对你有一定的参考价值。

 

set quoted_identifier on;
set ansi_nulls on;
go

create function [dbo].[Get_StrArrayStrOfIndex]
       ( @str NVarchar(max) ,  --要分割的字符串
         @split NVarchar(10) ,  --分隔符号
         @index Int --取第几个元素
         )
returns NVarchar(max)
as
begin
    declare @location Int;
    declare @start Int;
    declare @next Int;
    declare @seed Int;

    set @str = LTrim(RTrim(@str));
    set @start = 1;
    set @next = 1;
    set @seed = Len(@split);
  
    set @location = CharIndex(@split, @str);
    while @location <> 0 and @index > @next
          begin
                set @start = @location + @seed;
                set @location = CharIndex(@split, @str, @start);
                set @next = @next + 1;
          end;
    if @location = 0
       select   @location = Len(@str) + 1; 
  
    return Substring(@str,@start,@location-@start);

end;
go

 

set quoted_identifier on;
set ansi_nulls on;
go

create function [dbo].[Get_StrArrayLength]
       ( @str NVarchar(max) ,  --要分割的字符串
         @split NVarchar(10)  --分隔符号
         )
returns Int
as
begin
    declare @location Int;
    declare @start Int;
    declare @length Int;

    set @str = LTrim(RTrim(@str));
    set @location = CharIndex(@split, @str);
    set @length = 1;
    while @location <> 0
          begin
                set @start = @location + 1;
                set @location = CharIndex(@split, @str, @start);
                set @length = @length + 1;
          end;
    return @length;

end;
go

 

以上是关于SqlServer Function的主要内容,如果未能解决你的问题,请参考以下文章