ABAP 比较字符串 和数字串

比较字符串 和数字串

要比较字符 串(类型 C)和数字 文本(类型 N),可以 在逻辑表达 式中使用下 列运算符。

 

<运算符>

含 义

CO

仅包 含

CN

不仅 包含

CA

包 含任何

NA

不 包含任何

CS

包 含字符串

NS

不 包含字符串

 CP

包含模 式

NP

不包 含模式

 

因为除类型 N 和 C 外,系统不 能执行任何 其它类型转 换,所以, 在进行包含 这些运算之 一的比较时 ,操作数应 该是类型 N 或 C。

运算符的功 能如下:

CO (仅包含)

如果 仅包含 中的字符, 则逻辑表达 式

CO

为真。该比 较区分大小写,并包括 尾部空格。 如果比较结果为真,则 系统字段 SY-FDPOS 包括 的长度。如 果为假,则 SY-FDPOS 包含 中第一个未 在 内出现的字符的偏移量 。

<F1>

<F2>

Result

SY-FDPOS

大小写

含义

'BD   '

CO

'ABCD '

5

区分

仅仅包含

'BD   '

CO

'ABCDE'

 2

区分

仅仅包含

CN (不仅包含 )

如果 还包含 之外的其他 字符,则逻辑表达式

CN

为真。该比较区分大小 写,并包括 尾部空格。 如果比较结果为真,则 系统字段 SY-FDPOS 包含 中第一个未 同时在 中出现的字符的偏移量 。如果为假 ,SY-FDPOS 包含 的长度。

<F1>

<F2>

Result

SY-FDPOS

大小写

含义

'ABC12'

CN

'ABCD '

3

区分

不仅仅包含

'ABABC'

CN

'ABCD '

5

区分

不仅仅包含

CA (包含任何 )

如果 至少包含 的一个字符 ,则逻辑表 达式

CA

为真。该比 较区分大小写。如果比 较结果为真 ,则系统字 段 SY-FDPOS 包含 中第一个也 在 中出现的字 符的偏移量 。如果为假 ,SY-FDPOS 包含 的长度。

<F1>

<F2>

Result

SY-FDPOS

大小写

含义

'ABcde'

CA

'Bd   '

1

区分

包含任何

'ABcde'

CA

'bD   '

5

区分

包含任何

 

 

 

 

 

 

NA (不包含任 何)

如果 不包含 的任何字符 ,则逻辑表 达式

NA

为真。该比 较区分大小 写。如果比 较结果为真 ,则系统字 段 SY-FDPOS 包含 的 长度。如果 为假,则 SY-FDPOS 包含 中在 内出现的第 一个字符的 偏移量。

 

<F1>

<F2>

Result

SY-FDPOS

大小写

含义

'ABAB '

NA

'AB   '

0

区分

不包含任何

'ababa'

NA

'AB   '

5

区分

不包含任何

 

CS (包含字符 串)

如果 包含字符串 , 则逻辑表达 式

CS

为真。忽略 尾部空格并 且比较区分大小写。 如果比较结 果为真,则 系统字段 SY-FDPOS 包含 中的偏移量 。如果为假 ,SY-FDPOS 包含 的长度。

<F1>

<F2>

Result

SY-FDPOS

含义

大小写

'ABcde'

CS

'bC   '

1

包含字符串

不区分

'ABcde'

CS

'ce   '

5

包含字符串

不区分

 

NS (不包含字 符串)

如果 不包含字符 串 , 则逻辑表达 式

NS

为真。忽略 尾部空格且 比较区分 大小写。如 果比较为真 ,系统字段 SY-FDPOS 包含 的长度。如 果为假,系 统字段 SY-FDPOS 包含 中的偏移量 。

<F1>

<F2>

Result

SY-FDPOS

含义

大小写

'ABcde'

NS

'bC   '

1

不包含字符串

不区分

'ABcde'

NS

'ce   '

5

不包含字符串

不区分

CP (包含模式 )

如果 包含模式 , 则逻辑表达 式

CP

为真。如果 属于类型 C,则可以 在 中使用下列 通配符:

_      * 用于任何字 符串

_      + 用于任何单 个字符

忽略尾部空 格且比较 区分大小写 。如果比较 结果为真, 系统字段 SY-FDPOS 包含 中的偏移量 。如果为假 ,SY-FDPOS 包含 的长度。

如果要对 中的特殊字 符进行比较 ,请将换码 字符 # 放到其前面 。可以使用 换码字符 # 指定

_      大小写字 符

_      通配符 "*"(输 入 #*)

_      通配符 "+" (输入 #+)

_      换码符号 本身 (输入 ##)

_      字符串结 尾的空格 (输入 #___)

<F1>

<F2>

Result

SY-FDPOS

大小写

含义

'ABcde'

CP

'*b*'

 1

不区分

包含模式

'ABcde'

CP

'*#b*'

 5

不区分

包含模式

 

NP (不包含模 式)

如果 不包含模式 , 则逻辑表达 式

NP

为真。在中 ,可以使用 与 CP 相同的通配 符和换码字 符。

忽略尾部空 格且比较 区分大小写 。如果比较 结果为真, 则系统字段 SY-FDPOS 包含 . 的长度,如 果为假,SY-FDPOS 包含 中的偏移量 。

DATA: F1(5) TYPE C VALUE,

      F2(5) TYPE C VALUE .

IF F1 F2.
   WRITE: / 'Comparison true, SY-FDPOS=', SY-FDPOS.
ELSE.
   WRITE: / 'Comparison false, SY-FDPOS=', SY-FDPOS.
ENDIF.

下表列出该 程序的执行 结果,取决 于所用的运 算符和 F1 / F2 字段。

 

<F1>

<F2>

Result

SY-FDPOS

大小写

含义

'ABcde'

NP

'*b*'

 1

不区分

不包含模式

'ABcde'

NP

'*#b*'

 5

不区分

不包含模式

你可能感兴趣的:(ABAP)