diff --git a/src/sql/engine/expr/ob_expr_case.cpp b/src/sql/engine/expr/ob_expr_case.cpp index 8dd09949cc..4bf90128d5 100644 --- a/src/sql/engine/expr/ob_expr_case.cpp +++ b/src/sql/engine/expr/ob_expr_case.cpp @@ -104,8 +104,9 @@ int ObExprCase::calc_result_typeN(ObExprResType &type, types_stack[i].set_calc_meta(types_stack[i].get_obj_meta()); } else { types_stack[i].set_calc_meta(type.get_obj_meta()); - if (ObDecimalIntType == type.get_obj_meta().get_type() || - ob_is_double_type(type.get_obj_meta().get_type())) { + if (ObNumberType == type.get_obj_meta().get_type() + || ObDecimalIntType == type.get_obj_meta().get_type() + || ob_is_double_type(type.get_obj_meta().get_type())) { types_stack[i].set_calc_accuracy(type.get_accuracy()); } }