ABAP 比较字符串 和数字串

比较字符串 和数字串

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

 

<运算符>

含 义

CO

仅包 含

CN

不仅 包含

CA

包 含任何

NA

不 包含任何

CS

包 含字符串

NS

不 包含字符串

 CP

包含模 式

NP

不包 含模式

 

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

运算符的功 能如下:

CO (仅包含)

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

<F1> CO <F2>

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

<F1>

<operator>

<F2>

Result

SY-FDPOS

大小写

含义

'BD   '

CO

'ABCD '

5

区分

仅仅包含

'BD   '

CO

'ABCDE'

 2

区分

仅仅包含

CN (不仅包含 )

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

<F1> CN <F2>

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

<F1>

<operator>

<F2>

Result

SY-FDPOS

大小写

含义

'ABC12'

CN

'ABCD '

3

区分

不仅仅包含

'ABABC'

CN

'ABCD '

5

区分

不仅仅包含

CA (包含任何 )

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

<F1> CA <F2>

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

<F1>

<operator>

<F2>

Result

SY-FDPOS

大小写

含义

'ABcde'

CA

'Bd   '

1

区分

包含任何

'ABcde'

CA

'bD   '

5

区分

包含任何

 

 

 

 

 

 

NA (不包含任 何)

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

<F1> NA <F2>

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

 

<F1>

<operator>

<F2>

Result

SY-FDPOS

大小写

含义

'ABAB '

NA

'AB   '

0

区分

不包含任何

'ababa'

NA

'AB   '

5

区分

不包含任何

 

CS (包含字符 串)

如果 <F1> 包含字符串 <F2>, 则逻辑表达 式

<F1> CS <F2>

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

<F1>

<operator>

<F2>

Result

SY-FDPOS

含义

大小写

'ABcde'

CS

'bC   '

1

包含字符串

不区分

'ABcde'

CS

'ce   '

5

包含字符串

不区分

 

NS (不包含字 符串)

如果 <F1> 不包含字符 串 <F2>, 则逻辑表达 式

<F1> NS <F2>

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

<F1>

<operator>

<F2>

Result

SY-FDPOS

含义

大小写

'ABcde'

NS

'bC   '

1

不包含字符串

不区分

'ABcde'

NS

'ce   '

5

不包含字符串

不区分

CP (包含模式 )

如果 <F1> 包含模式 <F2>, 则逻辑表达 式

<F1> CP <F2>

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

_      * 用于任何字 符串

_      + 用于任何单 个字符

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

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

_      大小写字 符

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

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

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

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

<F1>

<operator>

<F2>

Result

SY-FDPOS

大小写

含义

'ABcde'

CP

'*b*'

 1

不区分

包含模式

'ABcde'

CP

'*#b*'

 5

不区分

包含模式

 

NP (不包含模 式)

如果 <F1> 不包含模式 <F2>, 则逻辑表达 式

<F1> NP <F2>

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

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

DATA: F1(5) TYPE C VALUE<F1>,

      F2(5) TYPE C VALUE <F2>.

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

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

 

<F1>

<operator>

<F2>

Result

SY-FDPOS

大小写

含义

'ABcde'

NP

'*b*'

 1

不区分

不包含模式

'ABcde'

NP

'*#b*'

 5

不区分

不包含模式

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值