ali_query()

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

描述:

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

语法:

ali_query(ali_client, tableName, keyName, keyValue, selectCol, filter)  返回序表

ali_query(ali_client, tableName, keyName, startValue:endValue, selectCol, filter) 范围查询,返回游标

 

备注:

外部库函数,多主键时,startValue:endValue的写法是:

[startKey1,startKey2]:[endKey1:endKey2];例如[3,"003"]:[5,"009"],如果没有[3,"003"]这条记录,但有[3,"002"],结果[3,"002"]被选出了,这是阿里云的特殊设定。

参数:

ali_client

阿里云连接对象

tableName

表名

keyName

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

keyValue

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

startValue

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

endValue

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

selectCol

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

filter

过滤表达式,可省略

可用以下操作符:

逻辑操作符  &&||!

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

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

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

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

选项:

@x

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

@z

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

返回值:

游标或序表

示例:

 

A

 

1

=ali_client("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_client()