2017-09-26 61 views
-1

我知道LIMIT和OFFSET,在DB2中都可用,但对于我的需求我需要使用WHERE。DB2 for z/OS中提供了分页支持,但不支持DB2/400中的分页支持?

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

回答

1

有3个完全不同的用于DB2平台

  • 的DB2 for z/OS的
  • 的DB2 for IBM i
  • DB2 for Lunix,Unix,Windows(LUW)

尽管共享DB2名称,但它们是具有不同代码库的完全独立的产品。 IBM确实尝试确保兼容性,但这并不意味着每个平台都具有相同的功能或同时获得新功能。

因此,不,我的Db2当前不支持WHERE中的不相等的行值表达式。你必须去上学。

WHERE 
    (WORKDEPT = 'E11' and EDLEVEL = 12 and JOB > 'CLERK) 
    or (WORKDEPT = 'E11' and EDLEVEL > 12) 
    or (WORKDEPT > 'E11') 
+0

哦,那不是我正在寻找的答案。 :-P 谢谢 –