使用变量进行货币符号扩展
如果要在脚本或表达式中使用变量进行文本替换,需使用以下语法:
$(variablename)
$(variablename) 扩展至变量中的值。如果 variablename 不存在,那么该扩展将为空字符串。
对于数字变量扩展,使用以下语法:
$(#variablename)
其总是生成合法小数点来表示变量的数字值,可能带有指数符号(对于非常大/小的数值)。如果 variablename 不存在或不包含数字值,那宏扩展将被扩展至 0。
Example:
SET DecimalSep=',';
LET X = 7/2;
货币符号扩展 $(X) 将扩展至 3,5,而 $(#X) 将扩展至 3.5。
Example:
Set Mypath=C:\MyDocs\Files\;
...
LOAD * from $(MyPath)abc.csv;
数据将从 C:\MyDocs\Files\abc.csv 加载。
Example:
Set CurrentYear=1992;
...
SQL SELECT * FROM table1 WHERE Year=$(CurrentYear);
将选中 Year=1992 的行。
Example:
在该示例中,目录中的所有 .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];
以备用状态扩展变量
在展开变量时,您可能指定要使用哪个状态。特定状态下的更改不会影响在另一状态下扩展的变量值。如果您没有指定状态,则会以默认状态展开变量。
Example:
如果您有名为 MyState 的状态以及名为 vMyVar 的变量:
- $(vMyVar) 以默认状态扩展变量。
- $({MyState} vMyVar) 以 MyState 状态扩展变量。