美文网首页
SQL 字符串拆分

SQL 字符串拆分

作者: Binary_r | 来源:发表于2020-12-26 09:29 被阅读0次
    --7、我们经常会遇到字符串拆分的需求,比如有字符串01;03;02;06;08;04;01;03;09;;20;12;1;24;25;87,题目如下:
    --1)在Test数据下创建一个表,用来存放拆分后的字符串,至少包含三个字段:主键,字符串值,拆分时间(请为拆分时间设置当前时间的默认约束)
    CREATE TABLE bank_as2i.SplitString(
        id int identity(1,1)  PRIMARY KEY NOT NULL,
        value nvarchar(100) NOT NULL,
        splitTime datetime default getdate() NOT NULL
    )
    DROP TABLE bank_as2i.SplitString;
    --2)请拆分上面字符串,放到上面创建的表(拆分后的字符串需要去掉重复值)
    DROP PROCEDURE bank_as2i.splitStringFun
    CREATE PROCEDURE bank_as2i.splitStringFun
        @String nvarchar(50)
    AS
    BEGIN
        INSERT INTO bank_as2i.SplitString (value) 
        SELECT DISTINCT value FROM STRING_SPLIT(@String,';')
        WHERE value NOT IN (SELECT value FROM bank_as2i.SplitString)
    END
    
    EXEC bank_as2i.splitStringFun '01;03;02;06;08;04;01;03;09;;20;12;1;24;25;87'
    
    SELECT * FROM bank_as2i.SplitString
    
    

    相关文章

      网友评论

          本文标题:SQL 字符串拆分

          本文链接:https://www.haomeiwen.com/subject/hlwwnktx.html