Sql 在AS400中修剪空值

Sql 在AS400中修剪空值,sql,join,null,ibm-midrange,trim,Sql,Join,Null,Ibm Midrange,Trim,我正在a上的两个表a和B之间进行联接。Item=B.Item。我没有得到预期的记录。在做了一些调查之后,我看到表B中的所有项在项的末尾都包含null 我希望能够做到以下几点: SELECT * FROM A INNER JOIN B ON TRIMNULL(A.ITEM) = TRIMNULL(B.ITEM); AS400中有没有这样的方法来修剪空值?看看手册中的函数。可以指定要修剪的角色 假设你说NULL时是十六进制x'00'。那么这应该是可行的: SELECT * FROM A INNE

我正在a上的两个表a和B之间进行联接。Item=B.Item。我没有得到预期的记录。在做了一些调查之后,我看到表B中的所有项在项的末尾都包含null

我希望能够做到以下几点:

SELECT * FROM A INNER JOIN B ON TRIMNULL(A.ITEM) = TRIMNULL(B.ITEM);
AS400中有没有这样的方法来修剪空值?

看看手册中的函数。可以指定要修剪的角色

假设你说NULL时是十六进制x'00'。那么这应该是可行的:

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

是否有理由允许空终止符保留为数据的一部分?我要做的第一件事就是找到这个奇怪角色的来源并修复它。我要做的第二件事是清理数据;在很长一段时间内,这可能是一个问题。