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

Bloom 過濾器二元輸入 <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> 值必須為 <requireType> 文字,且為 <validValues>,但取得 <inputValue>

INVALID_JSON_MAP_KEY_TYPE

輸入架構 <schema> 只能包含字串作為 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

Null 型別的值無法用作 <functionName> 的參數。

PARAMETER_CONSTRAINT_VIOLATION

<leftExprName>(<leftExprValue>) 必須 <constraint> <rightExprName>(<rightExprValue>)。

RANGE_FRAME_INVALID_TYPE

排序規格中使用的資料類型 <orderSpecType> 與範圍框架中使用的資料類型 <valueBoundaryType> 不符。

RANGE_FRAME_MULTI_ORDER

在具有多個排序依據表達式的視窗規格中,無法使用具有值邊界的範圍視窗框架:<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>