我知道LIMIT和OFFSET,这两个版本都可用,但是根据我的要求,我需要使用WHERE。
DB2 / ZOS 12支持...
WHERE (WORKDEPT, EDLEVEL, JOB) > ('E11', 12, 'CLERK')
但显然不是DB2 / 400?
请有人告诉我,我错了。
参考
DB2 / ZOS https://www.ibm.com/support/knowledgecenter/en/SSEPEK_12.0.0/wnew/src/tpc/db2z_12_sqlpagination.html
DB2 / 400 https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/sqlp/rbafymultiplewhere.htm
答案 0 :(得分:1)
DB2有三个完全不同的平台
尽管共享了DB2名称,但它们是完全独立的产品,具有不同的代码库。
IBM确实尝试确保兼容性,但这并不意味着每个平台都具有相同的功能或同时获得新功能。
所以不,Db2 for i当前不支持WHERE中的非等值行值表达式。你将不得不去上学。
WHERE
(WORKDEPT = 'E11' and EDLEVEL = 12 and JOB > 'CLERK)
or (WORKDEPT = 'E11' and EDLEVEL > 12)
or (WORKDEPT > 'E11')