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。启用=真正的;