TSL语言支持SELECT语句,该语法类似于SQL中的SELECT语句,但是又有许多特色和差异。TSL语言的SELECT语句既可以查询存贮在天软数据仓库中的基本面信息数据,也可以查询天软数据仓库中的交易定周期数据以及交易明细数据。除此以外,SELECT语句还可以用来直接查询内存数组,以及对SQL的结果集进行后查询处理,并且,还支持对按照规范编写的对象进行查询。
与SQL不同,TSL的SELECT查询语法由SELECT开始,END结束。
与SQL不同,TSL对字段的访问必需采用[字段名字符串]的模式来表达,例如字段close用["close"]访问。
与SQL不同,TSL的SELECT查询不支持TOP N,但是支持更加灵活的DRANGE(begn to endn)以及M Of N的模式来取指定的结果范围。
与SQL不同,由于TSL支持(*作为注释符号,因此SQL中的count(*),CheckSum(*)的模式在TSL的SELECT语句中用添加在(和*之间的空格符号如:countof( * )、countof()、CheckSumOf( * )替代。
与SQL不同,TSL的聚集函数为了和其他的函数分别开来,基本上在SQL的聚集函数的基础上添加of,例如count对应为countof,avg对应于avgof,sum对应于sumof等等。
具体语法如下:
From子句[SelectOpt(Options)] [distinct] [drange( <begntoendn | M Of N>)] <select_list><
From子句> [
WHERE子句] [
GROUP BY 子句] [
ORDER BY子句] end;
为了方便使用和节省内存加快速度,TSL语言还支持SSELECT,MSELECT和VSELECT三个关键字做SELECT查询,当使用MSELECT查询的时候,返回的结果类型为Matrix类型,当使用VSELECT的时候,直接可返回数据的值,当使用SSELECT的时候,返回结果为一个一维数组。