INVALID_ARRAY_INDEX錯誤類
該指數< indexValue >
是界外。的數組< arraySize >
元素。使用SQL函數get ()
容忍在無效索引訪問元素,返回NULL。如果必要的設置< ansiConfig >
“假”繞過這個錯誤。
解釋
不像element_at和英語教學,一個參考indexValue
到一個數組中使用arrayExpr [indexValue]語法之間必須0
的第一個元素arraySize- - - - - -1
最後一個元素。
一個負indexValue
或一個值大於或等於arraySize
是不允許的。
緩解
這個錯誤取決於目的的緩解:
是否提供
indexValue
基於假設的索引?使用element_at (arrayExpr indexValue),英語教學(arrayExpr indexValue)”,或arrayExpr (indexValue - 1)解決正確的數組元素。
是
indexValue
消極的期望來檢索元素相對於數組的終結嗎?使用element_at (arrayExpr indexValue)或英語教學(arrayExpr indexValue)”。必要時調整基於索引。
你期望得到什麼
零
值返回元素索引的基數以外?如果你能改變表達式,使用try_element_at (arrayExpr indexValue + 1)容忍引用綁定。注意,基於索引的
try_element_at
。如果你不能改變表達式,作為最後的手段,暫時設置
ansiConfig
來假
容忍引用綁定。
例子
——一個INVALID_ARRAY_INDEX錯誤因為不匹配的索引>選擇數組(“一個”,“b”,“c”)[指數]從值(1),(3)作為T(指數);(INVALID_ARRAY_INDEX]的指數3是出的界限。的數組有3元素。如果必要的集“ANSI_MODE”來假來繞過這錯誤。——使用element_at而不是基於索引>選擇element_at(數組(“一個”,“b”,“c”),指數)從值(1),(3)作為T(指數);一個c——調整指數是基於0>選擇數組(“一個”,“b”,“c”)[指數- - - - - -1]從值(1),(3)作為T(指數);——基於容忍與調整綁定數組索引的索引>選擇try_element_at(數組(“一個”,“b”,“c”),指數+1)從值(1),(3)作為T(指數);b零——一個INVALID_ARRAY_INDEX錯誤,因為負折射率>選擇數組(“一個”,“b”,“c”)[指數]從值(- - - - - -1),(2)作為T(指數);(INVALID_ARRAY_INDEX]的指數- - - - - -1是出的界限。的數組有3元素。如果必要的集“ANSI_MODE”來“假”來繞過這錯誤。——使用element_at指數相對於數組的末尾>選擇element_at(數組(“一個”,“b”,“c”),指數)從值(- - - - - -1),(2)作為T(指數);cb——容忍一個綁定的指數在磚通過設置ansiConfig SQL>集ANSI_MODE=假;>選擇數組(“一個”,“b”,“c”)[指數]從值(1),(3)作為T(指數);b零>集ANSI_MODE=真正的;——容忍一個綁定的指數在磚通過設置ansiConfig運行時>集火花。sql。ansi。啟用=假;>選擇數組(“一個”,“b”,“c”)[指數]從值(1),(3)作為T(指數);b零>集火花。sql。ansi。啟用=真正的;