sql函数把字符串转数组
时间: 2023-11-08 08:05:53 浏览: 271
在 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中,可以使用内置函数STRING_SPLIT来将字符串转换为数组。这个函数会将字符串按照指定的分隔符拆分成多个子字符串,并返回一个结果集。
下面是使用STRING_SPLIT函数将字符串转换为数组的示例:
```sql
DECLARE @str VARCHAR(100) = 'apple,banana,orange'
SELECT value FROM STRING_SPLIT(@str, ',')
```
在上面的示例中,我们首先声明了一个变量 @str,并将字符串 'apple,banana,orange' 赋值给它。然后,使用STRING_SPLIT函数将这个字符串按照逗号分隔符拆分成多个子字符串。最后,我们通过SELECT语句从结果集中选择 value 列,这样就可以得到一个包含拆分后的子字符串的数组。