DATATYPE_MISMATCH 错误类

SQLSTATE: 42K09

由于数据类型不匹配,无法解析 <sqlExpr>

此错误类具有以下派生错误类

ARRAY_FUNCTION_DIFF_TYPES

<functionName> 的输入应该是 <dataType>,后跟一个具有相同元素类型的的值,但它是 [<leftType>, <rightType>]。

BINARY_ARRAY_DIFF_TYPES

函数 <functionName> 的输入应该是两个具有相同元素类型的 <arrayType>,但它是 [<leftType>, <rightType>]。

BINARY_OP_DIFF_TYPES

二元运算符的左右操作数具有不兼容的类型(<left><right>)。

BINARY_OP_WRONG_TYPE

二元运算符需要输入类型 <inputType>,而不是 <actualDataType>

BLOOM_FILTER_BINARY_OP_WRONG_TYPE

<functionName> 的布隆过滤器二进制输入应该是常量值或标量子查询表达式,但它是 <actual>

BLOOM_FILTER_WRONG_TYPE

函数 <functionName> 的输入应该是 <expectedLeft>,后跟具有 <expectedRight> 的值,但它是 [<actual>]。

CANNOT_CONVERT_TO_JSON

无法将类型为 <type> 的列 <name> 转换为 JSON。

CANNOT_DROP_ALL_FIELDS

无法删除结构中的所有字段。

CAST_WITHOUT_SUGGESTION

无法将 <srcType> 转换为 <targetType>

CAST_WITH_CONF_SUGGESTION

在 ANSI 模式下无法将 <srcType> 转换为 <targetType>。如果必须将 <srcType> 转换为 <targetType>,则可以将 <config> 设置为 <configVal>

CAST_WITH_FUNC_SUGGESTION

无法将 <srcType> 转换为 <targetType>。要将值从 <srcType> 转换为 <targetType>,可以使用函数 <functionNames>

CREATE_MAP_KEY_DIFF_TYPES

函数 <functionName> 的给定键应都属于同一类型,但它们是 <dataType>

CREATE_MAP_VALUE_DIFF_TYPES

函数 <functionName> 的给定值应都属于同一类型,但它们是 <dataType>

CREATE_NAMED_STRUCT_WITHOUT_FOLDABLE_STRING

只允许可折叠的 STRING 表达式出现在奇数位置,但它们是 <inputExprs>

DATA_DIFF_TYPES

<functionName> 的输入应都属于同一类型,但它是 <dataType>

FILTER_NOT_BOOLEAN

类型为 <type> 的筛选表达式 <filter> 不是布尔值。

HASH_MAP_TYPE

函数 <functionName> 的输入不能包含“MAP”类型的元素。在 Spark 中,相同的映射可能具有不同的哈希码,因此禁止对“MAP”元素使用哈希表达式。要恢复以前的行为,请将“spark.sql.legacy.allowHashOnMapType”设置为“true”。

INPUT_SIZE_NOT_ONE

<exprName> 的长度应为 1。

INVALID_ARG_VALUE

<inputName> 值必须是 <validValues><requireType> 文字量,但得到的是 <inputValue>

INVALID_JSON_MAP_KEY_TYPE

输入架构 <schema> 只能包含 STRING 作为 MAP 的键类型。

INVALID_JSON_SCHEMA

输入架构 <schema> 必须是结构、数组或映射。

INVALID_MAP_KEY_TYPE

映射的键不能是/包含 <keyType>

INVALID_ORDERING_TYPE

<functionName> 不支持对类型 <dataType> 进行排序。

INVALID_ROW_LEVEL_OPERATION_ASSIGNMENTS

<errors>

IN_SUBQUERY_DATA_TYPE_MISMATCH

IN 子查询左侧的一个或多个元素的数据类型与子查询输出的数据类型不兼容。不匹配的列:[<mismatchedColumns>],左侧:[<leftType>],右侧:[<rightType>]。

IN_SUBQUERY_LENGTH_MISMATCH

IN 子查询左侧的列数与子查询输出中的列数不匹配。左侧列(长度:<leftLength>):[<leftColumns>],右侧列(长度:<rightLength>):[<rightColumns>]。

MAP_CONCAT_DIFF_TYPES

<functionName> 应都属于映射类型,但它是 <dataType>

MAP_FUNCTION_DIFF_TYPES

<functionName> 的输入应该是 <dataType>,后跟一个具有相同键类型的的值,但它是 [<leftType>, <rightType>]。

MAP_ZIP_WITH_DIFF_TYPES

<functionName> 的输入应该是两个具有兼容键类型的映射,但它是 [<leftType>, <rightType>]。

NON_FOLDABLE_INPUT

输入 <inputName> 应该是可折叠的 <inputType> 表达式;但是,得到的是 <inputExpr>

NON_STRING_TYPE

所有参数都必须是字符串。

NULL_TYPE

空类型的值不能用作 <functionName> 的参数。

PARAMETER_CONSTRAINT_VIOLATION

<leftExprName>(<leftExprValue>) 必须是 <constraint> <rightExprName>(<rightExprValue>)。

RANGE_FRAME_INVALID_TYPE

排序规范中使用的数据类型 <orderSpecType> 与范围框架中使用的的数据类型 <valueBoundaryType> 不匹配。

RANGE_FRAME_MULTI_ORDER

具有值边界的范围窗口框架不能在具有多个 order by 表达式的窗口规范中使用:<orderSpec>

RANGE_FRAME_WITHOUT_ORDER

范围窗口框架不能在无序窗口规范中使用。

SEQUENCE_WRONG_INPUT_TYPES

<functionName> 使用了错误的参数类型。参数类型必须符合

  1. 开始和结束表达式的解析结果必须是相同的类型。
  2. 如果开始和结束表达式的解析结果为 <startType> 类型,则步长表达式的解析结果必须为 <stepType> 类型。
  3. 否则,如果开始和结束表达式的解析结果为 <otherStartType> 类型,则步长表达式的解析结果必须为相同的类型。

SPECIFIED_WINDOW_FRAME_DIFF_TYPES

窗口框架边界 <lower><upper> 的类型不同:<lowerType> <> <upperType>

SPECIFIED_WINDOW_FRAME_INVALID_BOUND

窗口框架上边界 <upper> 不遵循下边界 <lower>

SPECIFIED_WINDOW_FRAME_UNACCEPTED_TYPE

<location> 边界 <exprType> 的数据类型与预期数据类型 <expectedType> 不匹配。

SPECIFIED_WINDOW_FRAME_WITHOUT_FOLDABLE

窗口框架 <location> 边界 <expression> 不是字面量。

SPECIFIED_WINDOW_FRAME_WRONG_COMPARISON

窗口框架的下边界必须与上边界进行 <comparison> 比较。

STACK_COLUMN_DIFF_TYPES

列 (<columnIndex>) 的数据类型不同:<leftType> (<leftParamIndex>) <> <rightType> (<rightParamIndex>)。

TYPE_CHECK_FAILURE_WITH_HINT

<msg><hint>

UNEXPECTED_CLASS_TYPE

找不到类 <className>

UNEXPECTED_INPUT_TYPE

参数 <paramIndex> 需要 <requiredType> 类型,但是 <inputSql> 的类型为 <inputType>

UNEXPECTED_NULL

<exprName> 不能为空。

UNEXPECTED_RETURN_TYPE

<functionName> 要求返回 <expectedType> 类型,但实际类型为 <actualType>

UNEXPECTED_STATIC_METHOD

<className> 中找不到与参数类型匹配的静态方法 <methodName>

UNSUPPORTED_INPUT_TYPE

<functionName> 的输入不能是 <dataType> 类型的数据。

VALUE_OUT_OF_RANGE

<exprName> 必须介于 <valueRange> 之间(当前值为 <currentValue>)。

WRONG_NUM_ARG_TYPES

表达式需要 <expectedNum> 个参数类型,但实际数量为 <actualNum>

WRONG_NUM_ENDPOINTS

构造区间时,端点数必须 >= 2,但实际数量为 <actualNumber>