concat()

阅读(5161) 标签: concat,

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

concat()

描述:

将参数连接为字符串。

语法:

concat(xi,…)

备注:

将参数xi,…连接成为字符串,且串拼入时不加引号。

参数:

xi

任何可转成串的值,如果是序列则拆开后连接成字符串。

返回值:

字符串

示例:

 

A

 

1

=demo.query("select * from SCORES where SCORE>90")

2

=A1.(SCORE)

 

3

=A1.(SUBJECT)

 

4

=concat(A2,A3)

979691939797979691939797PEEnglishPEEnglishMathMathPEEnglishPEEnglishMathMath

5

=concat(2,3,"a")

23a

相关概念:

s.split()

concat(x;d)

描述:

用分隔符连接聚合字段值。

语法:

concat(x;d)

备注:

用分隔符d连接聚合字段x的值,d省略时将x的值直接连起来。该函数仅支持作为聚合函数用于groups中。

参数:

x

聚合字段名称。

d

分隔符。

选项:

@c

用逗号连接。

@i

连接时加上单引号。

@q

连接时加上引号,缺省不会处理。

返回值:

字符串

示例:

 

A

 

1

=demo.query("select EID,NAME,DEPT from employee")

返回序表:

2

=A1.groups(DEPT;concat(NAME;"_"):ALL_NAME)

A1序列根据DEPT字段分组,并将每组中的NAME值使用分隔符_连接起来返回到ALL_NAME列中:

3

=A1.groups(DEPT;concat@c(NAME):ALL_NAME)

使用@c选项,将逗号作为分隔符:

4

=A1.groups(DEPT;concat@q(NAME):ALL_NAME)

使用@q选项,连接时加上双引号:

5

=A1.groups(DEPT;concat@i(NAME):ALL_NAME)

使用@i选项,连接时加上单引号:

6

=A1.groups(DEPT;concat@i(NAME;"|"):ALL_NAME)

使用@i选项,连接时加上单引号,并将 | 作为连接符:

 

A.concat(d)

描述:

用分隔符连接序列成员返回成字符串。

语法:

A.concat(d)

备注:

用分隔符d连接A中成员返回成字符串,并处理子序列。d省略时将成员直接连起来。

选项:

@q

串成员接入时加上引号,缺省不会处理。

@c

用逗号连接。

@i

串成员接入时加上单引号。

@n

A是序列的序列时,用分隔符d连接各个A中的成员返回字符串,并且换行,相当于A.(~.concat(d)).concat("\n"),如有其它选项,则在内层concat中执行。

@y

d为数列时使用该选项,d中每个成员视为每段的长度,按定长组合;A中成员是数字时,超出位数用0补位在数字前,A中成员是字符串时,超出位数用空格补位在字符串后。

参数:

A

字符串序列。

d

分隔符

返回值:

字符串

示例:

 

A

 

1

=[1, ["a","b"],[2,"c"]]

 

2

=A1.concat()

连接序列A1中的成员,分隔符缺省,返回结果:1[ab][2c]

3

=A1.concat(":")

连接序列A1中的成员,分隔符为冒号,返回结果:1:[a:b]:[2:c]

4

=A1.concat@q()

使用@q选项,串成员接入时加上引号,返回结果:1["a""b"][2"c"]

5

=A1.concat@c()

使用@c选项,分隔符使用逗号,返回结果:1,[a,b],[2,c]

6

=A1.concat@i()

使用@i选项,串成员接入时使用单引号,返回结果:1['a''b'][2'c']

7

=[[1,2,3], ["a","b"],[2,"c"]]

返回序列的序列。

 

 

8

=A7.concat@n("-")

使用@n选项,使用分隔符“-”连接序列的序列中的各个成员,并且各序列成员见进行一次换行,返回结果如下:

 

 

9

=A7.concat@nc()

使用@nc选项,返回结果如下:

10

=[123,"hello",789,"world"].concat@y([3,8,6,5])

使用@y选项,字符串超出位数后面补空格,数字超出位数前面补0,返回结果如下: