• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    sql实现split函数的脚本

    复制代码 代码如下:

    --创建一个函数,函数中有两个参数
    Create FUNCTION [dbo].[SplitToTable]
    (
    @SplitString nvarchar(max),--输入的字符串
    @Separator nvarchar(10)=' '--分割条件
    )
    --返回的数据为一个表
    RETURNS @SplitStringsTable TABLE
    (
    [id] int identity(1,1),
    [value] nvarchar(max)
    )
    AS
    BEGIN
    DECLARE @CurrentIndex int;--当前索引
    DECLARE @NextIndex int;--下一个索引
    DECLARE @ReturnText nvarchar(max);--返回内容
    SELECT @CurrentIndex=1;--设置当前索引初始值为1
    --当当前索引小于字符串长度时,执行循环体
    WHILE(@CurrentIndex=len(@SplitString))
    BEGIN
    --CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下:
    --CHARINDEX ( expression1 , expression2 [ , start_location ] )
    -- Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。
    SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex);
    IF(@NextIndex=0 OR @NextIndex IS NULL)
    SELECT @NextIndex=len(@SplitString)+1;
    --函数用法:SUBSTRING ( expression, start, length )
    SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex);
    INSERT INTO @SplitStringsTable([value]) VALUES(@ReturnText);
    SELECT @CurrentIndex=@NextIndex+1;
    END
    RETURN;
    END
    go
    --测试函数
    select * FROm dbo.SplitToTable('a,b,c,d,e,f,g', ',')

    您可能感兴趣的文章:
    • 给Oracle添加split和splitstr函数的方法
    • MySQL里实现类似SPLIT的分割字符串的函数
    • SQL中实现SPLIT函数几种方法总结(必看篇)
    上一篇:2分法分页存储过程脚本实例
    下一篇:SQLSERVER启动不起来(错误9003)的解决方法分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    sql实现split函数的脚本 sql,实现,split,函数,的,脚本,