这是我正在使用的代码:
SELECT 'HOPE', RPRAWRD_AIDY_CODE, COUNT(DISTINCT RPRAWRD_PIDM) AS NumberOfStudents, Sum(RPRAWRD_PAID_AMT) AS AmountPaid
FROM FAISMGR.RPRAWRD, FAISMGR.RFRBASE
WHERE RPRAWRD_AIDY_CODE = '1213'
AND RPRAWRD_FUND_CODE = RFRBASE_FUND_CODE
AND RPRAWRD_AWST_CODE = 'ACPT'
AND RPRAWRD_PAID_AMT > 0
AND RFRBASE_FSRC_CODE = 'HOPE'
GROUP BY RPRAWRD_AIDY_CODE;
结果产生 3952 条记录。
一些记录在 RPRAWRD_PAID_AMT 中包含 NULL,如果我添加
AND RPRAWRD_PAID_AMT IS NOT NULL
到 WHERE 子句,我得到完全相同的结果:3952 条记录。所以,我的问题是: >0 是否排除空值,因为它们评估为假,使得 IS NOT NULL 不必要?