• 字符串截取的函数自定义


     
    
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    /****************分割字符串 ****************/
    CREATE function [dbo].[SplitString]
    (
    @Input nvarchar(max), @Separator nvarchar(max)=',', 
    @RemoveEmptyEntries bit=1 )
    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(@Input, 1, @Index-1)))
    
    if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'')
    begin
    insert into @TABLE([Value]) Values(@Entry)
    end
    
    set @Input = substring(@Input, @Index+datalength(@Separator)/2, len(@Input))
    set @Index = charindex(@Separator, @Input)
    end
    
    set @Entry=ltrim(rtrim(@Input))
    if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'')
    begin
    insert into @TABLE([Value]) Values(@Entry)
    end
    
    return
    END

    
    


    调用创建的sql函数
    declare @s varchar(100),@sql varchar(1000),@split VARCHAR(10),@index INT
    
    
    SET @split='|';
    SET @index=1;
    SET @s='|21|2106|';
    
    
    select COUNT(*) from [dbo].[SplitString](@s, @split, 1)
    select * from [dbo].[SplitString](@s, @split, 1)

     结果

    
    
  • 相关阅读:
    java 日志体系
    java mail 接收邮件
    Spring 事物Transaction
    Spring 文件上传MultipartFile 执行流程分析
    centos7安装Elasticsearch7
    centos7安装docker笔记
    docker安装
    redis
    springboot+redis+nginx+分布式session
    tomcat程序和webapp分离
  • 原文地址:https://www.cnblogs.com/TzH-Sky/p/5659497.html
Copyright © 2020-2023  润新知