2017-09-13 600 views
0

我建了一個視圖中,我使用下面的代碼從被格式化「姓,名」字段只拉了姓:= SQLCode將標記-138大型計數表,但不小的DB2

VALUE(RTRIM(SUBSTR(A.PREVIOUS_NAMES,1,LOCATE(',', A.PREVIOUS_NAMES)-1)), '') 
AS "PREVIOUS_NAME",               

這種觀點工作得很好,因爲我是在我們的沙箱環境中工作,但我把它來測試,並嘗試打開DBVisualizer工具來看,數據結果提供了錯誤:

THE SECOND OR THIRD ARGUMENT OF THE SUBSTR OR SUBSTRING FUNCTION IS OUT OF 
RANGE. SQLCODE=-138, SQLSTATE=22011, DRIVER=4.22.29 

的沙箱只有不到11K的記錄,測試和生產系統接近120萬,所以我是顧客考慮到這是性能問題,因爲這段代碼的複雜性。該視圖仍然似乎已經創建,我可以查詢它並返回一個特定的結果/結果集,我想我擔心它是否可用於大型查詢,或者如果性能真的是這種情況下的一個問題?

有沒有更好的方法可以解析這個姓而不必在定位函數中使用子字符串?

感謝您的幫助!

回答

1

最有可能它不是性能問題,只是一些行有數據沒有逗號

+0

啊哈!所以我可能應該做一個案例或東西來解釋缺少逗號...... 謝謝! – XB1213