本章介绍iconcat()的多种用法。
描述:
将聚合字段值去重后用分隔符连接成字符串。
iconcat(x;d)
备注:
用分隔符d连接聚合字段x去重后的值,省略d时直接拼接。仅限在groups中作为聚合函数使用。
参数:
|
x |
聚合字段名称。 |
|
d |
分隔符。 |
选项:
|
@c |
用逗号连接。 |
|
@i |
连接时加上单引号。 |
|
@q |
连接时加上引号,缺省不会处理。 |
|
@0 |
丢弃其中的null和空串。 |
返回值:
字符串
示例:
|
|
A |
|
|
1 |
=demo.query("select top 10 EID,NAME,STATE,DEPT from employee") |
返回序表:
|
|
2 |
=A1.groups(DEPT;iconcat(STATE;"_"):ALL_STATE) |
将A1序列根据DEPT字段分组,并将每组中的STATE值使用分隔符_连接起来返回到ALL_STATE列中:
|
|
3 |
=A1.groups(DEPT;iconcat@c(STATE):ALL_STATE) |
使用@c选项,将逗号作为分隔符:
|
|
4 |
=A1.groups(DEPT;iconcat@q(STATE):ALL_STATE) |
使用@q选项,连接时加上双引号:
|
|
5 |
=A1.groups(DEPT;iconcat@i(STATE):ALL_STATE) |
使用@i选项,连接时加上单引号:
|
|
6 |
=A1.groups(DEPT;iconcat@i(STATE;"|"):ALL_STATE) |
使用@i选项,连接时加上单引号,并将 | 作为连接符:
|
使用@0选项:
|
|
A |
|
|
1 |
=create(id,num).record([1,11,1,,1,33,2,232,2,577,2,null]) |
返回序表:
|
|
2 |
=A1.groups(id;iconcat(num;";")) |
A1序列根据id分组聚合计算,用分号连接去重后的聚合字段值:
|
|
3 |
=A1.groups(id;iconcat@0(num;";")) |
使用iconcat的@0选项,连接时丢弃空串和null:
|
描述:
用分隔符将序列成员去重后连接成字符串。
语法:
A.iconcat(d)
备注:
用分隔符d连接A中去重后的成员,返回成字符串,并处理子序列。d省略时直接将成员连接。
选项:
|
@q |
串成员接入时加上引号,缺省不会处理。 |
|
@c |
用逗号连接。 |
|
@i |
串成员接入时加上单引号。 |
|
@n |
A是序列的序列时,用分隔符d连接各个A中的不重复成员返回字符串,并且换行,相当于A.(~.iconcat(d)).iconcat("\n"),如有其它选项,则在内层iconcat中执行。 |
|
@0 |
丢弃其中的null和空串。 |
参数:
|
A |
字符串序列。 |
|
d |
分隔符。 |
返回值:
字符串
示例:
|
|
A |
|
|
1 |
=[1, ["a","b"],[2,"c"], ["a","b"]] |
|
|
2 |
=A1.iconcat() |
连接序列A1中的不重复成员,分隔符缺省,返回结果:1[ab][2c] |
|
3 |
=A1.iconcat(":") |
连接序列A1中的不重复成员,分隔符为冒号,返回结果:1:[a:b]:[2:c] |
|
4 |
=A1.iconcat@q() |
使用@q选项,串成员接入时加上引号,返回结果:1["a""b"][2"c"] |
|
5 |
=A1.iconcat@c() |
使用@c选项,分隔符使用逗号,返回结果:1,[a,b],[2,c] |
|
6 |
=A1.concat@i() |
使用@i选项,串成员接入时使用单引号,返回结果:1['a''b'][2'c'] |
|
7 |
=[[1,2,3], ["a","b","a"],[2,"c"],[1,2,3]] |
返回序列的序列。 |
|
8 |
=A7.concat@n("-") |
使用@n选项,使用分隔符“-”连接序列的序列中的各个成员,并且各序列成员间进行一次换行,返回结果如下:
|
|
9 |
=A7.concat@nc() |
使用@nc选项,返回结果如下:
|
|
10 |
=[123,,456,null,789,456].iconcat(";") |
返回结果:123;;456;789 |
|
11 |
=[123,,456,null,789,456].iconcat@0(";") |
使用@o选项,丢弃null和空串,返回结果:123;456;789 |