oracle concat函数用法_sql collect_set 用法 + str_to_map用法
时间: 2024-01-11 22:05:38 浏览: 218
Oracle中的concat函数用于连接两个或多个字符串,语法如下:
```sql
concat(string1, string2, ...)
```
其中,string1、string2等表示要连接的字符串。例如:
```sql
SELECT CONCAT('Hello', ' ', 'World') AS message FROM dual;
-- 输出: Hello World
```
而collect_set函数是一种聚合函数,用于将一列中的数据去重并返回一个集合。语法如下:
```sql
COLLECT_SET(expression)
```
其中,expression表示要聚合的列或表达式。例如:
```sql
SELECT COLLECT_SET(department) AS departments FROM employees;
-- 输出: {HR, IT, Sales, Finance}
```
最后,str_to_map函数用于将一个字符串转换为Map类型的数据。语法如下:
```sql
STR_TO_MAP(string, delimiter1, delimiter2)
```
其中,string表示要转换的字符串,delimiter1表示键值对之间的分隔符,delimiter2表示键与值之间的分隔符。例如:
```sql
SELECT STR_TO_MAP('name:John,age:25', ',', ':') AS person FROM dual;
-- 输出: {'name':'John', 'age':'25'}
```
注意,如果字符串中有重复的键,则只会保留最后一个键值对。
阅读全文