使用变量进行货币符号扩展
如果要在脚本或表达式中使用变量进行文本替换,需使用以下语法:
$(variablename)
$(variablename) 扩展至变量中的值。如果 variablename 不存在,那么该扩展将为空字符串。
对于数字变量扩展,使用以下语法:
$(#variablename)
其总是生成合法小数点来表示变量的数字值,可能带有指数符号(对于非常大/小的数值)。如果 variablename 不存在或不包含数字值,那宏扩展将被扩展至 0。
示例:
SET DecimalSep=',';
LET X = 7/2;
货币符号扩展 $(X) 将扩展至 3,5,而 $(#X) 将扩展至 3.5。
示例:
Set Mypath=C:\MyDocs\Files\;
...
LOAD * from $(MyPath)abc.csv;
数据将从 C:\MyDocs\Files\abc.csv 加载。
示例:
Set CurrentYear=1992;
...
SQL SELECT * FROM table1 WHERE Year=$(CurrentYear);
将选中 Year=1992 的行。
示例:
在本例中,目录中的所有 .txt 文件都将使用 Concatenate 前缀加载。如果字段略有不同(在这种情况下自动串联不起作用),则可能必须采用这种方法。vConcatenate 变量初始设置为空字符串,因为 Concatenate 前缀在第一次加载中无法使用。如果目录包含三个名为 file1.txt、file2.txt 和 file3.txt 的文件,LOAD 语句将在三次迭代过程中扩展至:
LOAD * FROM[.\file1.txt];
Concatenate LOAD * FROM[.\file2.txt];
Concatenate LOAD * FROM[.\file3.txt];
展开备用状态的变量
变量只有一个值,并且在所有备用状态中都使用该值。展开变量时,值也是相同的,与变量的位置和对象的状态无关。
如果变量是计算变量,即定义以等号开头,则在默认状态下进行计算,除非在变量定义中指定了备用状态。
示例:
如果有一个名为 MyState 的状态和一个名为 vMyVar 的变量:
变量定义内容(带有对备用状态名称的显式引用)确定将在哪个状态中计算变量内容。