• sqlserver中利用Tran_sql把逗号分隔的字符串拆成临时表


    在与数据库交互的过程中,我们经常需要把一串ID组成的字符串当作参数传给存储过程获取数据。很多时候我们希望把这个字符串转成集合以方便用于in操作。 有两种方式可以方便地把这个以某种符号分隔的ID字符串转成临时表。 

    方式一:通过charindex和substring。 

    代码
    /************************************************************
     * Code formatted by SoftTree SQL Assistant ?v6.5.278
     * Time: 2015/8/4 11:22:40
     ************************************************************/
    CREATE FUNCTION func_splitstring
    (
     @str       NVARCHAR(MAX),
     @split     VARCHAR(10)
    )
    RETURNS @t TABLE(c1 VARCHAR(100))
    AS
    BEGIN
     DECLARE @i INT
     DECLARE @s INT
     SET @i = 1
     SET @s = 1
     WHILE (@i > 0)
     BEGIN
         SET @i = CHARINDEX(@split, @str, @s)
         IF (@i > 0)
         BEGIN
             INSERT @t
               (
                 c1
               )
             VALUES
               (
                 SUBSTRING(@str, @s, @i -@s)
               )
         END
         ELSE
         BEGIN
             INSERT @t
               (
                 c1
               )
             VALUES
               (
                 SUBSTRING(@str, @s, LEN(@str) -@s + 1)
               )
         END
         SET @s = @i + 1
     END
     RETURN
    END

    执行:select * from  dbo.func_splitstring('1,2,3,4,5,6', ',')

  • 相关阅读:
    梦断代码(一)——死定了
    十天冲刺2——(六)
    十天冲刺2——(五)
    十天冲刺2——(四)
    十天冲刺2——(3)
    十天冲刺2——(二)
    关键字简介
    基本类型
    使用命令编译运行Java程序
    在Windows平台上搭建Java环境
  • 原文地址:https://www.cnblogs.com/zhangxiaolei521/p/6270200.html
Copyright © 2020-2023  润新知