指定SELECT的选项,控制SELECT的行为, Options 为以下数值的组合(以下数值的_XOR或者相加)
选项名 |
值 |
含义 |
SELECT_OPT_SINGLEV |
1 |
返回为单个值,与VSelect同 |
SELECT_OPT_SINGLEARRAY |
2 |
返回为一维数组,与SSelect同 |
SELECT_OPT_MATRIX |
4 |
返回为Matrix类型,与MSelect同 |
SELECT_OPT_PACKED |
8 |
返回的行列下标为增长的数字 |
SELECT_OPT_MULTIAGGSAMENAME |
16 |
当采用SUMOF( * )这种模式的时候,每个字段的聚集的名保持和字段一致 |
SELECT_OPT_AGGSAMENAME |
32 |
当采用SUMOF([“abc”])的时候,返回的字段名依旧为”abc” |
SELECT_OPT_N_LEAD_COND |
64 |
当聚集函数使用次数以及条件的时候,64表示移动领先于条件,默认是条件领先于移动。例如AVGOF([0],[0]>0.5,10),如果采用64则表明为最近10个内大于0.5的平均数,如果没有该选项,则为最近10个大于0.5的平均数
移动的聚集函数也可以使用可选参数来实现这个功能,例如AVGOF([0],[0]>0.5,10,True)就表示对最近10个内符合条件的求平均,该参数为假表示最近10个符合条件的。 |
SELECT_OPT_DUP_FIELD_POS_TO_LAST |
128 |
默认的时候当字段列表发生重复的时候,字段以及其计算的次序为第一个,当设置了128的时候,重复的字段以及其计算的次序为最后一个 |
SELECT_OPT_REFOF_EMPTY_NIL |
256 |
默认refof的时候,当引用越界时,返回的数据为整数0,设置该标志的时候返回的数据为NIL |
|
8192 |
使得返回字符串为Unicode |
SELECT_OPT_ORDERBY_REFOF |
16384 |
当有ORDER BY的时候(且非group by),返回列表里的REFOF和移动聚集函数的行为将会以排序结果集为基准,而非原始序。
暂不支持向后推移。 |
|
0x8000000 |
TS-SQL语法中,可指定Openforwardonly模式,即提取到结果集后,不再对该结果集进行缓存 |
例子:
功能:将表格行列下标更改为增长的自然数字下标数组:t:=Zeros(4,array('A','B','C','D'));
执行:return select selectopt(8) * from t end;
返回结果:
例2:
功能:对数组每列进行累加,累加后列名与原列名保持一致
数组:t:=`array('A':0->5,'B':10->15,'C':20->25);
执行:return selectselectopt(16) sumof( *,1,6)from t end;