PQL 快速入门
PQL基础
数据流转
输出文件
PQL 中的语句
分支和循环
更优雅的数据操作
PQL 高级特性
系统函数
自定义函数
扩展操作
其他语言相关
附录
在 PQL 中,通过 Sharp 表达式已经能完成所有的数据操作工作,但是有时会因代码过长而显得繁琐,特别是在访问集合元素数据时。PQL 提供了一种与其他高级语言类似的方式访问集合元素。
可使用属性或索引访问数组的元素。
$list.first
得到数组的第一个元素,first
不区分大小写$list.last
得到数组的最后一个元素,last
不区分大小写$list[2]
按索引项获取元素,得到数组中第二个元素,注意索引从0
开始$list[$i]
方括号中支持变量$list[$i * 2]
方括号中支持运算可使用属性或索引访问数据行的元素。
$row.field
得到数据行中字段名为field
的值,field
命名仅支持英文字母、数字和下划线。$row['姓名']
得到数据行中字段名姓名
的值,这和方式可以访问$row.field
访问不了的字段或避免解析时的字符冲突。$row[$field]
方括号中支持变量。$row[$field + '_1']
方括号中支持运算。因为数据表是数组和数据行的整合,所有支持多级访问。
$table.first
得到数据表的第一行,如果数据表中有名为first
的列,则返回这一列值的数组。first
不区分大小写。$table.last
得到数据表的最后一行,如果数据表中有名为last
的列,则返回这一列值的数组。last
不区分大小写。$table[n]
得到数据表的第n
行,n
为整数。注意索引从0
开始。$table.field
得到数据表中名为field
的列所有值的数组,field
只能由字母、数字和下划线构成。$table['姓名']
得到数据表中名为'姓名'
的列所有值的数组。$table.first.field
得到第一行field
列的值$table[$i]['field']
得到某一行'field'
列的值$table[n].field
同上$table.field[n]
得到列field
中第n项的值,$table[$i - 1][$field + '_1']
方括号中支持运算$table[$list[1]]
会报错,请使用$table ROW $list[i]
。$(list).first
。在集合元素访问时,不会出现解析冲突,当然也可以通过这种方式避免集合解析问题。$str[1]
,其中的[1]
会被忽略。SELECT * FROM table1 WHERE id=$list[2]
。SELECT name FROM ${ $connection.default_database }.sys.tables;
。0
开始而不是像 Sharp 表达式中从1
开始是循环语言本身的习惯,类 SQL 语言都是从1
开始。像方括号索引这样的语法更像 Java 或 Javascript,从1
开始会显得非常奇怪。!
忽略数据类型的自动转化,如WHERE $row.condition!
。参考链接