zoukankan      html  css  js  c++  java
  • SQLSERVER 分割字符串函数

    原文地址:http://www.jb51.net/article/28921.htm

    首先创建一个表值函数:

    SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 
    /* 
    by kudychen 2011-9-28 
    */ 
    CREATE function [dbo].[SplitString] 

    @Input nvarchar(max), --input string to be separated 
    @Separator nvarchar(max)=','--a string that delimit the substrings in the input string 
    @RemoveEmptyEntries bit=1 --the return value does not include array elements that contain an empty string 

    returns @TABLE table 

    [Id] int identity(1,1), 
    [Value] nvarchar(max

    as 
    begin 
    declare @Index int@Entry nvarchar(max
    set @Index = charindex(@Separator,@Input
    while (@Index>0
    begin 
    set @Entry=ltrim(rtrim(substring(@Input1@Index-1))) 
    if (@RemoveEmptyEntries=0or (@RemoveEmptyEntries=1 and @Entry<>''
    begin 
    insert into @TABLE([Value]Values(@Entry
    end 
    set @Input = substring(@Input@Index+datalength(@Separator)/2len(@Input)) 
    set @Index = charindex(@Separator@Input
    end 
    set @Entry=ltrim(rtrim(@Input)) 
    if (@RemoveEmptyEntries=0or (@RemoveEmptyEntries=1 and @Entry<>''
    begin 
    insert into @TABLE([Value]Values(@Entry
    end 
    return 
    end

    调用示例: 

    declare @str1 varchar(max), @str2 varchar(max), @str3 varchar(max
    set @str1 = '1,2,3' 
    set @str2 = '1###2###3' 
    set @str3 = '1###2###3###' 
    select [Value] from [dbo].[SplitString](@str1','1
    select [Value] from [dbo].[SplitString](@str2'###'1
    select [Value] from [dbo].[SplitString](@str3'###'0
  • 相关阅读:
    手机兼容性测试
    Monkey测试
    ADB常用指令
    ADB移动端测试
    关于虚拟网卡V1,V8的问题
    1
    排序算法
    查找算法
    二叉树的计算
    队列
  • 原文地址:https://www.cnblogs.com/merray/p/2591149.html
Copyright © 2011-2022 走看看