zoukankan      html  css  js  c++  java
  • 在SQL SERVER中实现Split功能的函数,并在存储过程中使用

    代码
    CREATE FUNCTION dbo.SplitString
    (
              
    @Expression NVARCHAR(4000), --要拆分的字符串
              @Delimiter NVARCHAR(100), --拆分符号
              @n INT --要得到已拆分的返回字符串位置
    )
    RETURNS NVARCHAR(4000)
    AS
    BEGIN
    DECLARE @p INT
    SET @p = CharIndex(@Delimiter,@Expression)
    IF @p > 0
              
    BEGIN
              
    SET @p = @p + Len(@Delimiter- 1
              
    END
    DECLARE @i INT
    SET @i = 1
    WHILE @i < @n
              
    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 NVARCHAR(1000)
    IF @p = 0 AND @i = @n
              
    BEGIN
              
    SET @s = @Expression
              
    END
    ELSE
              
    IF @i = @n
              
    BEGIN
              
    SET @s = SubString(@Expression1,@p - Len(@Delimiter))
              
    END
    RETURN @s
    END

    使用方法:

    代码
    DECLARE @string NVARCHAR(50)
    SET @string  = '在|SQL SERVER|中实现Split|功能的|函数|'
    DECLARE @split NVARCHAR(4)
    SET @split = '|'
    SELECT dbo.SplitString (@string@split1)   --
    SELECT dbo.SplitString (@string@split2)   --SQL SERVER
    SELECT dbo.SplitString (@string@split3)   --中实现Split
    SELECT dbo.SplitString (@string@split4)   --功能的
    SELECT dbo.SplitString (@string@split5)   --函数
    SELECT dbo.SplitString (@string@split6)   --null
  • 相关阅读:
    图形设计 X11
    软件安装 RPM SRPM YUM
    如何将excel表格中的纯数字删掉 空白行,然后删除
    考试机
    程序编译与运行
    基础设定与备份策略
    开机流程 模块管理 Loader
    让所有Excel数据格全部乘 某个数
    转:JDK1.8-Stream()使用详解
    转:IK分词原理
  • 原文地址:https://www.cnblogs.com/hantianwei/p/1771571.html
Copyright © 2011-2022 走看看