演算子の意味

日本語

文字列とバイト列の比較 

文字列の処理用の特殊な命令が存在するのと同様に、ABAP には文字型用の特殊な比較演算子が含まれています。以下の演算子により c、d、n、t、および string 型のデータオブジェクトを比較します。

演算子

意味

CO

のみを含む

CN

以外も含む

CA

任意を含む

NA

何も含まない

CS

文字列を含む

NS

文字列を含まない

CP

パターンに適合する

NP

パターンに適合しない

EQ

=

NE

<>

GT

>

GE

>=

LT

<

LE

<=

BETWEEN A AND B

A~Bの間

上記の比較について変換は実行されません。代わりに、文字列の文字が比較されます。

個別の演算子の詳細については、キーワード文書を参照してください。

DATA: f1(5) TYPE c VALUE< f1>,
      f2(5) TYPE c VALUE .

IF f1 f2.
   WRITE: /  'Compare true, SY-FDPOS=', sy-fdpos.
ELSE.
   WRITE: /  'Compare false, SY-FDPOS=', sy-fdpos.
ENDIF.

  

以下の表では、演算子と f1 および f2 の値に応じたこのプログラムの実行結果を示します。

f1

演算子

F2

結果

sy-fdpos

'BD   '

CO

'ABCD '

5

'BD   '

CO

'ABCDE'

2

'ABC12'

CN

'ABCD '

3

'ABABC'

CN

'ABCD '

5

'ABcde'

CA

'Bd   '

1

'ABcde'

CA

'bD   '

5

'ABAB '

NA

'AB   '

0

'ababa'

NA

'AB   '

5

'ABcde'

CS

'bC   '

1

'ABcde'

CS

'ce   '

5

'ABcde'

NS

'bC   '

1

'ABcde'

NS

'ce   '

5

'ABcde'

CP

'*b*'

1

'ABcde'

CP

'*#b*'

5

'ABcde'

NP

'*b*'

1

'ABcde'

NP

'*#b*'

5

バイト型に関する比較演算子

リリース 6.10 以降では、ユニコードプログラムの外部でバイト型オペランドを比較するためにのみ文字型の関係演算子を使用することができます。ユニコードプログラムの内部でバイト型オブジェクトに適した比較を実行するには、バイト型用の関係演算子を使用します (BYTE-COBYTE-CNBYTE-CABYTE-NABYTE-CSBYTE-NS)。キーワード文書も参照してください。

算術演算子

演算子使用例意味
+ a + b a に b を加える
- a - b a から b を引く
* a * b a に b をかける
/ a / b a を b で割る
DIV a DIV b a を b で割る(整数除算)
% a % b a を b で割った余り
MOD a MOD b a を b で割った余り

 数学関数に関してはこちら>>

足し算の詳細例についてはこちら>>

算術計算についてはSAPサイトより>>

中文

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

<运算符>          含 义

CO                   仅包含

CN                   不仅包含

CA                   包含任何

NA                   不包含任何

CS                   包含字符串

NS                   不包含字符串

CP                    包含模式

NP                    不包含模式

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

CO (仅包含)

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

CN (不仅包含 )

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

CA (包含任何 )

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

NA (不包含任 何)

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

CS (包含字符 串)

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

NS (不包含字 符串)

如果 不包含字符 串 , 则逻辑表达 式 NS 为真。忽略 尾部空格且 比较不区分 大小写。如 果比较为真 ,系统字段 SY-FDPOS 包含 的长度。如 果为假,系 统字段 SY-FDPOS 包含 在 中的偏移量 。

CP (包含模式 )

如果 包含模式 , 则逻辑表达 式 CP 为真。如果 属于类型 C,则可以 在 中使用下列 通配符:

  •  * 用于任何字 符串
  •  + 用于任何单 个字符

忽略尾部空 格且比较不 区分大小写 。如果比较 结果为真, 系统字段 SY-FDPOS 包含 在 中的偏移量 。如果为假 ,SY-FDPOS 包含 的长度。 如果要对 中的特殊字 符进行比较 ,请将换码 字符 # 放到其前面 。可以使用 换码字符 # 指定

  • 大小写字 符
  • 通配符 "*"(输 入 #*)
  • 通配符 "+" (输入 #+)
  • 换码符号 本身 (输入 ##)
  • 字符串结 尾的空格 (输入 #___)

NP (不包含模 式)

如果 不包含模式 , 则逻辑表达 式 NP 为真。在中 ,可以使用 与 CP 相同的通配 符和换码字 符。 忽略尾部空 格且比较不 区分大小写 。如果比较 结果为真, 则系统字段 SY-FDPOS 包含 . 的长度,如 果为假,SY-FDPOS 包含 在 中的偏移量 。

原文地址:https://www.cnblogs.com/yjyongil/p/10494621.html