语法——GENERO语法基础
变量
变量的定义
- 直接定义
- DEFINE 变量名称 变量形态
- 对应数据字段定义
- DEFINE 变量名 LIKE 表名.字段名
连续定义用逗号隔开
变量形态
字符
变量形态 | 形态名称 | 默认值 | 数据库参照 |
---|---|---|---|
CHAR | 固定字符串 | NULL | CHAR |
VARCHAR | 动态字符 | NULL | VARCHAR |
STRING | 动态定义大小的字符串储存空间 | NULL | N/A |
STRING字符串方法
- .getIndexOf:从指定位置开始需要指定的字符
- .subString:切出指定起点至终点的子字符
- .trim
- .trim:切掉字符串头尾两侧的空格符
- .trimLeft:切掉字符串头端的空格符
- .trimRight:切掉字符串尾端的空格符
- .getLength:计算此字符串总长度
- .toLowerCase:将字符串转换为小写
- .toUpperCase:将字符串转为大写
- .append:将传入字符串加到原来的STRING后
- .equals:判断原字符串与传入字符串是否相等
- .getCharAt:抓取指定位置的字符
日期
变量形态 | 形态名称 | 默认值 | 数据库参照 |
---|---|---|---|
DATE | 日期 | 1899-12-31 | DATE |
DATETIME | 日期时间 | NULL | TIMETEMP(0) |
INTERVAL | 日期或时间区段 | NULL | INTERVAL |
数值
变量形态 | 形态名称 | 默认值 | 数据库参照 |
---|---|---|---|
INTEGER | 4 BYTE整数 | 0 | NUMBER(10) |
SMALLINT | 2 BYTE整数 | 0 | NUMBER(5) |
FLOAT | 8 BYTE 单精度浮点数 | 0 | BINARY_DOUBLE |
SMALLFLOAT | 4 BYTE 双精度浮点数 | 0 | BINARY_FLOAT |
DECIMAL(p,s) | p:所有数字个数(不含小数点);s:小数点的位数 | NULL | N/A |
MONEY | 与DECIMAL一致 | NULL | N/A |
其他
变量形态 | 形态名称 | 默认值 | 数据库参照 |
---|---|---|---|
BYTE | 大量二进制数据(图片) | NULL | BLOB |
TEXT | 大量字符数据(纯文本) | NULL | CLOB |
BOOLEAN | 布尔值,true(1),false(0),NULL(-1) | -1 | N/A |
变量的设定
定义完变量后,可利用LET指令指定变量值。
- 语法:
- LET 变量名 = 值
变量的生命周期
- Local变数:作用于MAIN和FUNCTION
- 定义位置:定义在Module中的函数中(MAIN、FUNCTION等)。
- 生命周期:只属于定义该变量的函式使用,离开此函式即不能再使用
- Module变数:作用于该Module
- 定义位置:Module中,但不被任何的函式包围
- 生命周期:为该Module中的共享变数
- Global变数:GLOBAL内所有的Module
- 定义位置:由GLOBAL及END GLOBALS所包围的变数
- 生命周期:使用的所有Module的共享变量
图解