field()

阅读(2282) 标签: field,

本章介绍field()函数的多种用法。

r.field(F)

描述:

取得记录中某个字段的字段值。

语法:

r.field(F)

备注:

取得记录r的第F个字段的字段值或者字符串参数F的值,F<0时从后往前排。F越界和不存时返回空。

参数:

r

记录。

F

字段序号或字符串参数,F字符串参数时可用变量传递字段名。

返回值:

字段值

示例:

 

A

 

1

=demo.query("select * from EMPLOYEE")(1).field(2)

返回序表 EMPLOYEE的第一条记录的第二个字段值。

2

=demo.query("select * from EMPLOYEE")(1).field(-2)

返回序表 EMPLOYEE的第一条记录的倒数第二个字段值。

3

=demo.query("select * from EMPLOYEE")(1).field(arg1)

arg1为变量。

4

=demo.query("select * from EMPLOYEE")(1).field("SALARY")

返回序表EMPLOYEE的第一条记录的SALARY字段值。

相关概念:

A.field(F)

A.field(F,x)

r.field(F,x)

r.field(F,x)

描述:

修改记录r的指定字段值。

语法:

r.field(F,x)

备注:

修改记录r中第F个字段的字段值或者字符串参数F的值为xF<0时从后往前排。F越界和不存时不执行。

参数:

r

记录。

F

字段序号或字符串参数,F字符串参数时可用变量传递字段名。

x

表达式,计算结果为第F个字段的字段值或字符串参数F的值。

返回值:

示例:

 

A

 

1

=demo.query("select * from EMPLOYEE")

 

2

=A1(1).field(2,"Admin1")

修改记录1中第2个字段的字段值为Admin1

3

=A1(1).field(-1,10000)

修改记录1中倒数第一个字段的字段值为10000

4

>arg1="SURNAME"

 

5

=A1(1).field(arg1,"Lily")

修改记录1SURNAME字段的字段值为Lily

相关概念:

A.field(F)

A.field(F,x)

r.field(F)

A.field(F)

描述:

获取序列中某个字段的字段值。

语法:

A.field(F)

备注:

A循环取得每条记录的第F个字段的字段值或者字符串参数F的值,组成序列返回,F<0时从后往前排。F越界和不存时返回空。

参数:

A

序列。

F

字段序号或字符串参数,F字符串参数时可用变量传递字段名。

选项:

@r

函数的返回值为记录或排列时,对其成员继续递归执行动作。

返回值:

序列

示例:

 

A

 

1

=demo.query("select * from EMPLOYEE")

 

2

=A1.field(2)

返回第二个字段的值组成的序列。

3

=A1.field(-2)

返回倒数第二个字段的值组成的序列。

4

=A1.field("NAME")

返回NAME字段的字段值组成的序列。

5

>arg1="NAME"

 

6

=A1.field(arg1)

A4

7

=demo.query("select * from EMPLOYEE where EID < 20")

 

8

=A7.group(STATE;~.avg(SALARY):avg,~:group)

9

=A8.field@r(3)

返回A8的第三列后,继续返回A8第三列中的第三列。

 

相关概念:

r.field(F)

r.field(F,x)

A.field(F,x)

A.field(F,x)

描述:

修改序列中指定字段的字段值。

语法:

A.field(F,x)

备注:

x序列中的成员依次赋值给A中第F个字段的字段值或者字符串参数F的值。F<0时从后往前排。F越界和不存时不执行。

参数:

A

序列。

F

字段序号或字符串参数,F字符串参数时可用变量传递字段名。

x

序列长度与F的字段值数相同的序列或者单值,单值时当作与F的字段值数相同并且序列值一样的序列。

返回值:

示例:

 

A

 

1

=demo.query("select top 3 * from EMPLOYEE")

 

2

=A1.field(9,8000)

修改第九个字段的值,参数x为单值,所以当作序列[8000,8000,8000]

A1结果如图:

3

=A1.field("SALARY",7000)

修改SALARY字段的字段值全部为7000

4

>arg1="SALARY"

 

5

=A1.field(arg1,7000)

A3

6

=A1.field(9,[8000,6500,9000])

参数x为序列,A1结果如图:

相关概念:

r.field(F)

A.field(F)

r.field(F,x)