--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
网友评论