2017-09-26 66 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 謝謝 –