我正在使用iReport 5.6和IBM DB2作爲數據源的Jasper報告。我將一串字符串作爲參數傳遞給報告,這就是問題出現的地方。查詢如下;IBM DB2 SQLException「DB2 SQL錯誤:SQLCODE = -420,SQLSTATE = 22018,SQLERRMC = DECFLOAT,DRIVER = 3.66.46」
SELECT customers.mobile_number,
COALESCE(Count(DISTINCT transaction_entries.transaction_id), 0) AS
number_of_transactions,
COALESCE(Sum(Abs(transaction_entries.amount))/100, 0) AS
volume_of_transactions
FROM transaction_entries
JOIN customers
ON customers.id = transaction_entries.customer_id
WHERE transaction_entries.transaction_type = 'Seasonal'
AND transaction_entries.notification_text <> 'Notification'
AND customers.mobile_number IN ($p ! {listOfMobileNumbers})
GROUP BY customers.mobile_number
當我嘗試生成報告,我得到由導致錯誤:com.ibm.db2.jcc.am.SqlDataException:DB2 SQL錯誤:SQLCODE = -420,SQLSTATE = 22018,則sqlerrmc = DECFLOAT, DRIVER = 3.66.46。
任何想法爲什麼?和可能的解決方案?
根據https://www.ibm.com/support /knowledgecenter/SSEPEK_10.0.0/codes/src/tpc/n420.html如果有人詢問有關錯誤消息,則您的錯誤是「字符串變量的值不能接受函數名稱函數」。 – Bobby
我已經看到那個頁面,並沒有得到詳細的信息。 mobile_number字段作爲字符串從數據庫返回,而不是DECIMAL。 – Yassem
也許'mobile_number'是一個非字符串字段,你傳遞的是字符串? – tobi6