[英]How can I split and insert a string into a SQL Server table?
I need to insert these IMS080','IMS108','IMS218
values into temptable
in separate rows, like this: 我需要将这些
IMS080','IMS108','IMS218
值分别插入到temptable
中,如下所示:
row 1: IMS080
row 2: IMS108
row 3: IMS218
Query : 查询:
INSERT INTO #TableName
SELECT UserID
FROM ('IMS080', 'IMS108', 'IMS218')
Thanks in advance 提前致谢
You can add all the id in one string separated by comma and can split it to each row. 您可以将所有ID都添加到一个用逗号分隔的字符串中,并将其拆分为每一行。 This will help you.
这将为您提供帮助。
INSERT INTO #TableName
SELECT Split.a.value('.', 'VARCHAR(100)') AS USERID
FROM
(
SELECT CAST ('<M>' + REPLACE('IMS080,IMS108,IMS218', ',', '</M><M>') + '</M>' AS XML) AS Data
)AS A CROSS APPLY Data.nodes ('/M') AS Split(a);
You could use of union
您可以使用
union
Insert into #TableName
SELECT 'IMS080' UserID
union
select 'IMS108' UserID
union
select 'IMS218' UserID
Edit : 编辑:
Insert into #TableName
values ('IMS080'), ('IMS108'), ('IMS218')
CREATE TABLE #TableName(ID int identity(1,1),userid varchar(50));
INSERT INTO #TableName
SELECT value as UserID FROM STRING_SPLIT('IMS080,IMS108,IMS218',',') ORDER BY value
SELECT * FROM #TableName
------------
ID userid
----------
1 IMS080
2 IMS108
3 IMS218
INSERT INTO #TableName
SELECT UserID
FROM ( VALUES ('IMS080')
, ('IMS108')
, ('IMS218')
) AS X (UserId)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.