在SQL语句中,可以直接用字段名访问字段的值,在TSL中,必须用
[字段名字符串表达式]来访问,例如一个字段名为close,访问其则为["close"]。
并且,TSL语言中的字段表达式中的
字段名字符串是大小写相关的。
如果使用了JOIN导致一个SQL语句中有多表时,则用[TableSequence].[字段名]来访问,例如:[1].["close"]代码第一个表的close字段,如果有多表,并且不指定表序号,则返回的内容会从第一个表开始逐步查找。
例如
S:=”abcd”;
[S]表示字段abcd,也可以采用[“abcd”],是一样的含义。
Select [S] from Table end;//表示返回列abcd而不是列S
同样[0]表示数字字段0;
A:=Rand(1000,array(“ABCD”));
B:=Select * from A where [“ABCD”] > 0.5 order by [“ABCD”] end;
Return B;
再如:
Select [“aaa”] as “aaa100” from a end;
返回的内容的字段名可以
用AS更名,不带AS则使用系统的缺省名,如果返回的本身仅仅只是一个[],则为原始的字段名,否则使用”Expr1”,”Expr2”…来命令
如果再SELECT中希望临时进行计算又不希望将临时计算的结果返回到结果集中,可以使用
AS NIL的模式,可参考:
Select as nil语法