Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


WM_CONCAT

📄字数 598
👁️阅读量 加载中...

功能描述

将同一个分组中的非 NULL 值,以逗号为分隔符,拼接起来,返回拼接后的字符串。

语法格式

sql
WM_CONCAT(expr)
  [OVER([analytic_clause])]

输入参数

  • expr:被连接的列,VARCHAR 类型,或能隐式转换为 VARCHAR 类型的其他类型。
  • analytic_clause:可选的分析子句,支持分组子句,排序子句以及范围子句,分析子句的详细说明请参考 analytic_clause

输出结果

返回 VARCHAR 类型,输入参数为 NULL 时,输出结果为 NULL

提示

  • WM_CONCAT() 函数的结果允许的最大记录长度为:60000 字节。

示例

sql
SQL> CREATE TABLE tab_test_wm_concat(a INTEGER,b VARCHAR(20));

SQL> INSERT INTO tab_test_wm_concat VALUES(1, 'test1')(2, 'test2')(3, 'test3');

SQL> INSERT INTO tab_test_wm_concat VALUES(1, '张三')(2, '李四')(3, '小王');

SQL> SELECT a, WM_CONCAT(b) FROM tab_test_wm_concat GROUP BY a;

+---+------------+
| A |   EXPR1    |
+---+------------+
| 1 | test1,张三 |
| 2 | test2,李四 |
| 3 | test3,小王 |
+---+------------+

SQL> SELECT a, WM_CONCAT(b) OVER(PARTITION BY a ORDER BY b DESC) FROM tab_test_wm_concat;

+---+------------+
| A |   EXPR1    |
+---+------------+
| 1 | 张三       |
| 1 | 张三,test1 |
| 2 | 李四       |
| 2 | 李四,test2 |
| 3 | 小王       |
| 3 | 小王,test3 |
+---+------------+