sql函数把字符串转数组
时间: 2023-11-08 16:05:53 浏览: 734
在 SQL 中,可以使用 STRING_SPLIT 函数将字符串转换为数组。例如,以下代码将字符串 'apple,banana,orange' 转换为数组:
```
SELECT value FROM STRING_SPLIT('apple,banana,orange', ',')
```
输出结果为:
```
value
-----
apple
banana
orange
```
相关问题
sqlserver2008字符串转数组
在 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,请使用方法一。
sqlserver 字符串转数组
在 SQL Server 中,可以使用 XML 和字符串函数来将字符串转换为数组。具体步骤如下:
1. 将字符串转换为 XML 格式,使用 ',' 作为分隔符:
```
DECLARE @str VARCHAR(MAX) = 'apple,banana,orange'
DECLARE @xml XML = '<root><s>' + REPLACE(@str, ',', '</s><s>') + '</s></root>'
```
2. 使用 XML 函数将 XML 转换为表格:
```
SELECT t.c.value('.', 'VARCHAR(MAX)') AS fruit
FROM @xml.nodes('/root/s') AS t(c)
```
这样就可以将字符串 'apple,banana,orange' 转换为包含三个元素的数组。
阅读全文