Trim AS400 中的空值

Trim null values in AS400

我正在 A.Item = B.Item 上的两个 tables A 和 B 之间进行连接。我没有按预期获得记录。在做了一些调查之后,我发现 table B 中的所有项目都在项目末尾包含空值。

我希望能够做类似的事情:

SELECT * FROM A INNER JOIN B ON TRIMNULL(A.ITEM) = TRIMNULL(B.ITEM);

AS400中有没有这样的方法来trim空值?

看看手册中的TRIM函数。可以指定一个字符为trim.

如果假设您在说 NULL 时指的是十六进制 x'00'。那么这应该有效:

SELECT * 
FROM A INNER JOIN B 
    ON TRIM(TRAILING x'00' FROM A.ITEM) 
        = TRIM(TRAILING x'00' FROM B.ITEM);