zoukankan      html  css  js  c++  java
  • SQL 分割函数

    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go

    ALTER FUNCTION [dbo].[Split]
    (
    @SplitString nvarchar(4000), -- 如果要传入NText类型,下面需要相应的修改,注释行为NText下同
    @Separator varchar(2) = ','-- NVarChar(2) = N','
    )
    RETURNS @SplitStringsTable TABLE
    (
    [id] int identity(1,1),
    [value] varchar(8000) -- NVarChar(4000)
    )
    AS
    BEGIN
    DECLARE @CurrentIndex int;
    DECLARE @NextIndex int;
    DECLARE @ReturnText nvarchar(4000);-- NVarChar(4000)
    SELECT @CurrentIndex=1;
    WHILE(@CurrentIndex<=datalength(@SplitString)) -- DATALENGTH(@SplitString)/2
    BEGIN
    SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex);
    IF(@NextIndex=0 OR @NextIndex IS NULL)
    SELECT @NextIndex=datalength(@SplitString)+1;--DATALENGTH(@SplitString)/2

    SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex);

    INSERT INTO @SplitStringsTable([value])
    VALUES(@ReturnText);

    SELECT @CurrentIndex=@NextIndex+1;
    END
    RETURN;
    END

  • 相关阅读:
    IndexDB
    实现es6中的set和map
    视口viewport
    nginx入门
    http协议
    图像格式
    promise
    js中this指向
    CSS 7阶层叠水平
    C# 一个方法如何返回多个值
  • 原文地址:https://www.cnblogs.com/lileiprc/p/4381340.html
Copyright © 2011-2022 走看看