ali_query()

阅读(3123) 标签: 查询数据, 游标,

描述:

查询数据,返回游标或序表。

语法:

ali_query(ali_open, tableName, keyName, keyValue, selectCol, filter)

返回序表。

ali_query(ali_open, tableName, keyName, startValue:endValue, selectCol, filter)

范围查询,返回游标。

备注:

外部库函数,外部库的使用请参考《外部库使用指南》。

多主键时,startValue:endValue的写法是:[startKey1,startKey2]:[endKey1:endKey2];例如[3,"003"]:[5,"009"],如果不存在[3,"003"]这条记录,但有[3,"002"],最终[3,"002"]被选出,这是阿里云的特殊设定。

参数:

ali_open

阿里云连接对象。

tableName

表名。

keyName

单键时keyName是键名;多键时keyName是键名构成的序列。

keyValue

主键值。如果是值或值序列,则查单条,如果是序列或序列的序列则批量查多条。

startValue

主键值范围的开始值,如果是null或者省略表示无穷小,冒号不可省略。

endValue

主键值范围的结束值,如果是null或者省略表示无穷大,冒号不可省略。

selectCol

要返回的列。选择单列时是列名,多列时是列名序列,省略表示选择所有字段。

filter

过滤表达式,可省略。

可用以下操作符:

逻辑操作符  &&||!

关系操作符  >>===<<=!=

格式是:<字段名> 关系操作符 <值表达式>

例如:col1 > arg1 && col1 < arg2 || col2 != arg3

布尔型字段需要用 <布尔字段 == false>这种形式描述,不能用<!布尔字段>

选项:

@x

查询结束后关闭阿里云连接。

@z

范围查询,查询顺序为倒序查询。

返回值:

游标/序表

示例:

 

A

 

1

=ali_open("http://test.ots.aliyuncs.com","LTAIXZNG5zzSPHTQ","sa","test")

 

2

=ali_query(A1,"test",["id1","id2"],[1,"10001"]:[10,"70001"], ["id1","id2","f1","f2"],f1>=2000.0)

3

=ali_query(A1, "test",["id1","id2"],,,f1>=2000.0&&f1<=10000.0&&(id2=="10003"||id2=="10004"||id2=="10005"))

省略主键范围和选出列,组合条件查询。

4

=ali_query@z(A1,"test",["id1","id2"],[10,"70001"]:[1,"10001"],,f1>=2000.0 && f1<=10000.0 && (id2=="10003" || id2=="10004" || id2=="10005"))

 

5

=ali_query@x(A1,"test",["id1","id2"],[3,"10003"],,)

相关概念:

ali_close()

ali_open()