SAP ABAP 不同数据类型之间的比较[总结篇]

文章详细阐述了如何使用逻辑运算符比较具有不同数据类型的数据对象,如数字、字符串、日期和十六进制字段。在比较过程中,兼容的数据类型按其值进行比较,不同长度的字段会进行填充以达到一致长度后再比较。例如,在比较十六进制字段时,第一个字节的值决定了比较结果。
摘要由CSDN通过智能技术生成

使用以下逻辑运算符比较具有不同数据类型的两个数据对象:

<操作员>

意义

EQ

等于

=

等于

NE

不等于

<>

不等于

><

不等于

LT

少于

<

少于

LE

小于或等于

<=

小于或等于

GT

比...更棒

>

比...更棒

GE

大于或等于

>=

大于或等于

两个操作数必须兼容或可转换。

比较基本数据类型

果操作数兼容,则不进行转换。比较过程如下: 数字字段(I、F 和 P 类型)和数字字符串(N 类型)按其数值进行比较。对于其他数据类型(C、D、T、X),比较从左到右进行。每个字段中不同的左起第一个字符确定哪个操作数更大。文本字段(类型 C)根据底层字符代码进行比较。在日期字段比较(类型 D)中,较新的日期大于较早的日期。在时间字段比较(类型 T)中,较晚的时间大于较早的时间。十六进制字段(类型 X)根据其字节值进行比较。

当您比较具有不同长度但相同数据类型的不兼容操作数时,比较如下: 压缩数字(类型 P)根据其数值进行比较,而不进行转换。对于其他长度不同的类型(C、N、X),较短的操作数在比较前转换为较长的操作数的长度。然后按如下方式填写:字符串(C 型)从右边用空格填充,数字字符串(N 型)从左边用零填充,十六进制字段从右边用十六进制零填充。

DATA: HEX1(3) TYPE X VALUE '34B7A1',
HEX2(1) TYPE X VALUE 'F0'.

IF HEX2 > HEX1.
...
ENDIF.

IF 语句中的逻辑表达式为真,因为 HEX2 的第一个字节大于 HEX1 的第一个字节。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值