iconcat()

阅读(4) 标签: iconcat,

本章介绍iconcat()的多种用法。

iconcat(x;d)

描述:

将聚合字段值去重后用分隔符连接成字符串。

语法:

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)

描述:

用分隔符将序列成员去重后连接成字符串。

语法:

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