zoukankan      html  css  js  c++  java
  • MS SQL Server字符拆分函数

    Insus.NET以前有用XQuery的nodes()方法写过一个函数,是MS SQL字符拆分的函数,http://www.cnblogs.com/insus/archive/2012/02/26/2368283.html

    今天学习SQL,再尝试另写一个:

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:        Insus.NET
    -- Create date: 2013-06-30
    -- Description:    split string function.
    -- =============================================
    CREATE FUNCTION [dbo].[udf_Split](@value NVARCHAR(MAX), @delimiter CHAR(1))
    RETURNS @Results TABLE ([ID] INT IDENTITY(1,1),[WORD] NVARCHAR(MAX))
    AS
    BEGIN
        DECLARE @index INT
        DECLARE @slice NVARCHAR(MAX)
     
        SET @index = 1
        IF @value IS NULL 
            RETURN
     
        WHILE @index <> 0
        BEGIN
            SET @index = CHARINDEX(@delimiter, @value)
            IF @index !=0
                SET @slice = LEFT(@value,@index - 1)
            ELSE
                SET @slice = @value
     
            INSERT INTO @Results([WORD]) VALUES(@slice)
            SET @value = RIGHT(@value,LEN(@value) - @index)
     
            IF LEN(@value) = 0 BREAK
        END 
        RETURN
    END
     
    GO
    udf_Split

    例子演示:



  • 相关阅读:
    解决maven导入坐标太慢问题
    +=的扩展
    JavaScript
    多线程
    异常
    面向对象
    数组
    java内存
    循环语句和递归
    剑指 Offer 30. 包含min函数的栈
  • 原文地址:https://www.cnblogs.com/insus/p/3163564.html
Copyright © 2011-2022 走看看