SQL 按逗号切分
时间: 2024-01-17 17:02:52 浏览: 104
可以使用 MySQL 中的内置函数 `SUBSTRING_INDEX` 来按逗号进行切分。
例如,如果有一个字段 `column1` 的值为 "a,b,c,d",想要按逗号切分成多行,则可以使用以下 SQL 语句:
```
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(column1, ',', numbers.n), ',', -1) AS value
FROM (SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) numbers
WHERE n <= 1 + LENGTH(column1) - LENGTH(REPLACE(column1, ',', ''));
```
其中,`numbers` 表是一个临时的表,包含了需要切分的字符串中逗号的个数加一的行数。在上面的例子中,因为字符串中有三个逗号,所以 `numbers` 表包含了 4 行数据。然后使用 `SUBSTRING_INDEX` 函数根据逗号将字符串切分成多行,并将每一行的值取出作为结果。
注意:如果字符串中有空格或其他分隔符,需要将 `','` 替换成对应的分隔符。
相关问题
sql 按逗号切分
在 SQL 中,你可以使用内置的字符串函数 `STRING_SPLIT` 来按照指定的分隔符将字符串切分成多个子字符串。例如,如果你有一个包含逗号分隔符的字符串,你可以使用以下查询来获取每个子字符串:
```sql
SELECT value FROM STRING_SPLIT('apple,banana,orange', ',')
```
这将返回以下结果:
```
value
-----
apple
banana
orange
```
其中 `STRING_SPLIT` 函数的第一个参数是要切分的字符串,第二个参数是分隔符。在上面的例子中,我们使用逗号作为分隔符。
flinksql 字符串切分函数
在 Flink SQL 中,可以使用内置函数 `SPLIT` 来实现字符串切分。该函数的语法如下:
```
SPLIT(str, delimiter)
```
其中,`str` 是要切分的字符串,`delimiter` 是分隔符。该函数会将字符串 `str` 按照分隔符 `delimiter` 进行切分,返回一个数组。
例如,假设有一个表 `user`,其中包含一个字段 `address`,需要将该字段按照逗号进行切分,可以使用如下的 Flink SQL 语句:
```sql
SELECT SPLIT(address, ',') FROM user
```
执行该语句后,会返回一个包含多个数组的表,每个数组表示一个切分后的字符串数组。
阅读全文