INVALID_ARRAY_INDEX_IN_ELEMENT_AT錯誤類
該指數< indexValue >
是界外。的數組< arraySize >
元素。使用try_element_at
容忍在無效索引訪問元素,返回NULL。如果必要的設置< ansiConfig >
“假”繞過這個錯誤。
解釋
indexValue
超出了邊界定義的數組元素的element_at (arrayExpr indexValue),或英語教學(arrayExpr indexValue)表達式。
之間的值必須是-arraySize
和arraySize
(不包括0
。
緩解
這個錯誤的減排取決於原因:
比預期小數組的基數?
修複輸入數組並重新運行查詢。
有
indexValue
計算錯誤了嗎?調整
indexValue
並重新運行查詢。你期望得到什麼
零
值返回元素索引的基數以外?如果你能改變表達式,使用try_element_at (arrayExpr indexValue)容忍引用綁定。
如果你不能改變表達式,作為最後的手段,暫時設置
ansiConfig
來假
容忍引用綁定。
例子
——一個INVALID_ARRAY_INDEX_IN_ELEMENT_AT錯誤因為不匹配的索引>選擇element_at(數組(“一個”,“b”,“c”),指數)從值(1),(4)作為T(指數);(INVALID_ARRAY_INDEX_IN_ELEMENT_AT]的指數4是出的界限。的數組有3元素。如果必要的集“ANSI_MODE”來假來繞過這錯誤。——增加aray大小的索引>選擇element_at(數組(“一個”,“b”,“c”,' d '),指數)從值(1),(4)作為T(指數);一個d——調整索引匹配的數組>選擇element_at(數組(“一個”,“b”,“c”),指數)從值(1),(3)作為T(指數);一個c——基於容忍與調整綁定數組索引的索引>選擇try_element_at(數組(“一個”,“b”,“c”),指數)從值(1),(4)作為T(指數);一個零——容忍的綁定通過設置ansiConfig磚SQL>集ANSI_MODE=假;>選擇element_at(數組(“一個”,“b”,“c”),指數)從值(1),(4)作為T(指數);一個零>集ANSI_MODE=真正的;——容忍的綁定通過設置ansiConfig磚運行時>集火花。sql。ansi。啟用=假;>選擇element_at(數組(“一個”,“b”,“c”),指數)從值(1),(4)作為T(指數);一個零>集火花。sql。ansi。啟用=真正的;