例如。
给定一个只有基元类型的表,例如-
create table t (i int, dt date, str string, ts timestamp, bl boolean)
;
insert into t
select 1,date '2017-03-14','Hello world',timestamp '2017-03-14 14:37:28.889',true
;
select * from t
;
+-----+------------+-------------+-------------------------+------+
| t.i | t.dt | t.str | t.ts | t.bl |
+-----+------------+-------------+-------------------------+------+
| 1 | 2017-03-14 | Hello world | 2017-03-14 14:37:28.889 | true |
+-----+------------+-------------+-------------------------+------+
... 以及 |||
作为请求的分隔符
(为简单起见,我们可以假设它不会出现在数据中的任何地方)
请求的结果将是单个分隔字符串
1 | | | 2017-03-14 | | | |你好世界| | | 2017-03-14 14:37:28.889 | | |对
1条答案
按热度按时间wsewodh21#
此解决方案仅限于包含“基本”类型的表(没有结构、数组、Map等)。
1 | | | 2017-03-14 | | | |你好世界| | | 2017-03-14 14:37:28.889 | | |对
附笔
concat(*)
可以工作,但值不是用分隔符分隔的。concat_ws(...,*)
产生一个异常。