源值和目标值表达式可以包含一个或多个特殊字符。只有 "Like" 映射支持特殊字符。
星号 (*)
星号 (*) 表示源值。星号 (*) 的前后可以添加一个或多个字符,这样便可根据该前缀或后缀对源值进行筛选。该通配符提取源中提供的任何内容,并将其放入目标列中,通常添加一个前缀。
问号 (?)
问号 (?) 从源值中去除单个字符。可以在表达式中使用一个或多个问号 (?)。还可以将问号与其他表达式组合使用。例如,A?? 查找以 A 开头且后面跟着两个任意字符的成员,并选择这些成员或去除这两个字符。
<1>、<2>、<3>、<4>、<5>
对具有串联值的行进行处理并提取相应的值。源成员必须使用 "_" 字符作为分隔符。
注:
<1>、<2>、<3>、<4>、<5> 可以与问号 (?) 一起使用,但是不能与星号 (*) 一起使用。
<BLANK>
只处理包含空白字符(空格)的行。
系统仅将源成员是 ' ' 的表达式读取为 <BLANK>。在这种情况下,用单引号将单个空白字符括起来。如果源具有 NULL(即,显示为 ,,
或由 " " 括起的空格),则不将 NULL 解释为 <BLANK>。只会解释 ‘<space char> 表达式。
注:
可以在源和目标表达式中使用 <BLANK> 表示法。如果在目标表达式中使用,则会向目标中写入空格。
表 9-1 使用特殊字符的表达式示例
使用的特殊字符 | 映射类型 | 源值 | 目标值 | 结果 | 说明 |
---|---|---|---|---|---|
* |
数据加载 | * | 1000 |
|
在此示例中,处理所有的行,并使用默认值 1000 覆盖源值。 在表达式中, |
* |
数据加载 | * | * |
|
在此示例中,将处理所有的行,并按原样替换源值。 |
* |
去除 | * | A* |
|
处理所有源成员,并添加 "A" 作为前缀。 |
* |
去除 | *_DUP | * |
|
只处理以 "_DUP" 结尾的源值并将 "_DUP" 去除。 |
? |
去除 | ?* | * |
|
此结果只处理长度为一个或更多字符的源值。 去除第一个字符 |
? |
去除 | *???? | * |
|
此结果只处理长度为四个或更多字符的源值。 去除最后 4 个字符 |
<1>, <2>, <3>, <4>, <5> |
数据加载 | <1> | * |
|
|
<1>, <2>, <3>, <4>, <5> |
数据加载 | <2> | * |
|
|
<1>, <2>, <3>, <4>, <5> |
数据加载 | <3> | * |
|
|
<1>, <2>, <3>, <4>, <5> |
去除 | ?<1> | * |
|
|
<BLANK> |
数据加载 | <BLANK> | [None] |
|
显示单引号只是为了更好地进行说明。 |