sqlserver2008字符串转数组
时间: 2023-11-03 09:01:27 浏览: 156
sql server 2008 将一列值转换成一个字符串
在 SQL Server 2008 中,你可以使用一些函数将字符串转换为数组。下面是两种常用的方法:
方法一:使用 XML 进行转换
你可以使用 XML 的功能将字符串转换为数组。可以按照以下步骤进行操作:
1. 创建一个 XML 变量,并将字符串作为 XML 格式存储在其中。
2. 使用 XML 函数将 XML 变量中的字符串拆分为多个行。
3. 使用 SELECT 语句从 XML 表中选择所需的数据。
以下是一个示例代码:
```
DECLARE @str NVARCHAR(MAX)
SET @str = 'apple,banana,orange'
DECLARE @xml XML
SET @xml = '<root><item>' + REPLACE(@str, ',', '</item><item>') + '</item></root>'
SELECT T.c.value('.', 'nvarchar(MAX)') AS Result
FROM @xml.nodes('/root/item') T(c)
```
方法二:使用字符串函数进行转换
如果你不想使用 XML,还可以使用字符串函数进行转换。可以按照以下步骤进行操作:
1. 使用字符串函数将字符串中的逗号替换为空格。
2. 使用表值函数 `STRING_SPLIT` 将字符串拆分为多个行。
3. 使用 SELECT 语句从拆分后的表中选择所需的数据。
以下是一个示例代码:
```
DECLARE @str NVARCHAR(MAX)
SET @str = 'apple,banana,orange'
SELECT value AS Result
FROM STRING_SPLIT(REPLACE(@str, ',', ' '), ' ')
```
请注意,`STRING_SPLIT` 函数仅适用于 SQL Server 2016 及更高版本。如果你使用的是 SQL Server 2008,请使用方法一。
阅读全文