如何使用SQLServer按分隔符(逗号)将文本拆分成6列。 -相关文档
可以使用 SQL Server 中的内置字符串函数和正则表达式函数来实现此操作。以下是一个示例代码,假设需要将一个包含逗号分隔的文本字符串拆分成 6 列:
DECLARE @text VARCHAR(MAX) = 'column1,column2,column3,column4,column5,column6' SELECT SUBSTRING(@text, 1, CHARINDEX(',', @text) - 1) AS Column1, SUBSTRING(@text, CHARINDEX(',', @text) + 1, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) - CHARINDEX(',', @text) - 1) AS Column2, SUBSTRING(@text, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) + 1, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) + 1) - CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) - 1) AS Column3, SUBSTRING(@text, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) + 1) + 1, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) + 1) + 1) - CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) + 1) - 1) AS Column4, SUBSTRING(@text, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) + 1) + 1) + 1, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) + 1) + 1) + 1) - CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text, CHARINDEX(',', @text) + 1) + 1) +