對於Db2,一直抱有不太友好的態度,果真這兩天發生了問題。程序在開發版上可以正常運行,到客戶那邊卻SQL報錯。
問題以下:
表:Test
Col1 (int) | Col (varchar 10)
1 | row1
2 | row2
Sql:
select sum(Col1 * (select Col1 from Test where (Col1=2) ) from Test
報錯:
ERRORCODE=-112 html
幾經查證後發現是DB2版本問題,一樣的9.7,客戶的版本沒有安裝fix pack.
IBM官方資料顯示,該問題是在聚合函數裏用子查詢致使的,該問題在fp4修正。 express
IC70754: EXTENDING SUPPORT OF SUBQUERY IN AGGREGATE FUNCTIONS
http://www-01.ibm.com/support/docview.wss?uid=swg1IC70754 jsp
應爲客戶沒法更新版本,因此只有咱們找對應版原本驗證。官方網站可以下載到的Express-C的版本已是10.1,若是想下老版本的Express-C,能夠從如下Ftp下載。ftp://ftp.software.ibm.com/software/data/db2/express/db2exc_images/ 函數
ps.百度的搜索是在不敢恭維,找了半天沒啥發現。相同關鍵字在google上確實收穫多多,無奈google頻繁斷線。 網站
牆你能不能再厚點....
另:DB2 9.7 fp1~fp7修正摘要 ui