1. `concat_ws`函数:
– `concat_ws`用于将多个字符串连接成一个以指定分隔符分隔的单个字符串。
– 语法:`concat_ws(separator, str1, str2, …)`
– 示例:
“`sql
SELECT concat_ws(‘,’, ‘apple’, ‘banana’, ‘cherry’) AS fruits;
“`
结果将是一个字符串:”apple,banana,cherry”
SELECT sort_array(array(array(3, 1), array(5, 2, 4), array(6))) AS sorted_nested_arrays;
2. `sort_array`函数:
– `sort_array`用于对数组中的元素进行排序。
– 语法:`sort_array(array[, ascendingOrder])`
– `array`是要排序的数组。
– `ascendingOrder`是一个可选参数,如果设置为`false`,则表示降序排序,默认为升序。
– 示例:
“`sql
SELECT sort_array(array(5, 2, 8, 1, 9)) AS sorted_numbers;
“`
结果将是一个排序后的数组:[1, 2, 5, 8, 9]
3. `collect_list`函数:
– `collect_list`用于将指定列的值收集到一个数组中,通常与`GROUP BY`一起使用以进行聚合操作。
– 语法:`collect_list(column)`
– `column`是要收集的列。
– 示例:
“`sql
SELECT department, collect_list(employee_name) AS employees
FROM employee_table
GROUP BY department;
“`
这将为每个部门收集员工姓名,结果将是一个包含员工姓名数组的数据集。
collect_list
函数收集列的值到一个数组中,如果需要将多列的值收集到同一个数组中,可以使用array
函数将多个列组合起来,例如
SELECT department, collect_list(array(employee_name, employee_age)) AS employeesFROM employee_tableGROUP BY department;