diff --git a/src/sql/engine/expr/ob_expr_result_type_util.cpp b/src/sql/engine/expr/ob_expr_result_type_util.cpp index efd9e8a9f..0398e91cb 100644 --- a/src/sql/engine/expr/ob_expr_result_type_util.cpp +++ b/src/sql/engine/expr/ob_expr_result_type_util.cpp @@ -267,7 +267,7 @@ int ObExprResultTypeUtil::get_div_result_type(ObObjType &result_type, if (ob_is_decimal_int(result_type) && !can_use_decint_div) { result_ob1_type = ObNumberType; result_ob2_type = ObNumberType; - } else if (can_use_decint_div) { + } else if (can_use_decint_div && result_type == ObNumberType) { // use decimal int as calc type result_ob1_type = ObDecimalIntType; result_ob2_type = ObDecimalIntType;