DECL [<variable_name>:<variable_type>];
复制
声明简介
声明是指为特定数据类型的变量分配一定的存储空间,并命名该变量以便引用它;必须先声明变量,然后才能引用它;对声明的变量可以进行赋值操作来改变它的值;声明的变量其作用域是Session级别的。
变量声明
使用 decl 关键字声明一个变量必须为变量指定名称和类型,且名称不能与已有的变量名相同。声明但未赋值的变量的默认值为null。变量名声明对大小写敏感。变量声明的语句遵循如下格式:
使用方法示例如下表所示:
语句 | 说明 |
---|---|
decl x:int; |
声明一个类型为 int 的变量 x |
decl s:string; |
声明一个类型为 string 的变量 s |
decl l:long; |
声明一个类型为 long 的变量 l |
decl b:boolean; |
声明一个类型为 boolean 的变量 b |
decl d:double; |
声明一个类型为 double 的变量 d |
decl time:localdatetime; |
声明一个类型为 localdatetime 的变量 time |
decl d1:decimal; |
声明一个类型为 decimal 的变量 d1 |
decl list1:list[int]; |
声明一个类型为 list[int] 的变量 list1 |
decl list2:list[double]; |
声明一个类型为 list[double] 的变量 list2 |
变量赋值
对已经声明的变量可以进行赋值操作,并且在给变量赋值时必须保证赋值类型与变量类型相同。此外可以将声明语句和变量赋值语句连着写。变量赋值语句遵循如下格式:
[ASSIGN] [<variable_name>:=] [EXPRESSION | QUERY];
复制
使用示例如下表所示:
-
声明一个类型为int的变量x,给变量x赋值为1。
decl x:int assign x:= 1;
复制 -
声明一个类型为decimal的变量d1,将变量d1赋值为12345.6549。
decl d1:decimal assign d1:=12345.6549bd;
复制 -
声明一个类型为string的变量y,将uid为1的点的name赋值给y。
decl y:string match (a) where uid(a)='1' assign y:= tostring(a.name);
复制 -
声明一个类型为double的变量d,将uid为1的点的weight赋值给d。
decl d:double assign d:= match (a) where uid(a)='1' return todouble(a.weight);
复制 -
声明一个类型为int的变量z,并且赋值为1。
decl z:int assign z:= 1;
复制 -
声明一个类型为long的变量l,并将uid为1的点的salary赋值给l。
decl l:long assign l:= match (a) where uid(a)="1" return tolong(a.salary);
复制
变量取值
使用变量取值语句对已声明的变量取值,且该语句遵循如下格式:
[@<variable_name>];
复制
使用示例如下所示:
-
返回变量x的值。
return @x;
复制 -
返回age等于变量x的值的所有点。
match (a) where tointeger(a.age)= @x return a;
复制
删除变量
删除变量包含删除指定变量和删除所有变量,删除指定变量语句遵循如下格式:
[DROP] [VAR | VARIABLE] [<variable_name>];
复制
删除全部变量语句遵循如下格式:
[DROP ALL] [VARS | VARIABLES];
复制
使用示例如下表所示:
语句 | 说明 |
---|---|
drop var x; |
删除变量 x |
drop variable x; |
删除变量 x |
drop all vars; |
删除所有的变量 |
drop all variables; |
删除所有的变量 |
decl y:int |
声明一个类型为 int 的变量 y |
显示所有变量
显示所有变量语句遵循如下格式:
[SHOW] [VARS | VARIABLES];复制
使用方法如下所示:
-
显示所有已声明的变量。
show vars;
复制 -
显示所有已声明的变量。
show variables;
复制