diff --git a/src/share/object/ob_obj_cast.cpp b/src/share/object/ob_obj_cast.cpp index 16ff4286a..478458e42 100644 --- a/src/share/object/ob_obj_cast.cpp +++ b/src/share/object/ob_obj_cast.cpp @@ -3681,7 +3681,7 @@ static int string_number( ret = value.from_sci_opt(str.ptr(), str.length(), params, &res_precision, &res_scale); // select cast('1e500' as decimal); -> max_val // select cast('-1e500' as decimal); -> min_val - if (CM_IS_SET_MIN_IF_OVERFLOW(cast_mode) && ret == OB_NUMERIC_OVERFLOW) { + if (ret == OB_NUMERIC_OVERFLOW) { int64_t i = 0; while (i < str.length() && isspace(str[i])) { ++i; diff --git a/src/sql/engine/expr/ob_datum_cast.cpp b/src/sql/engine/expr/ob_datum_cast.cpp index 61439f323..8514c257d 100644 --- a/src/sql/engine/expr/ob_datum_cast.cpp +++ b/src/sql/engine/expr/ob_datum_cast.cpp @@ -844,7 +844,7 @@ static OB_INLINE int common_string_number( ret = nmb.from_sci_opt(in_str.ptr(), in_str.length(), alloc, &res_precision, &res_scale); // select cast('1e500' as decimal); -> max_val // select cast('-1e500' as decimal); -> min_val - if (OB_NUMERIC_OVERFLOW == ret && CM_IS_SET_MIN_IF_OVERFLOW(expr.extra_)) { + if (OB_NUMERIC_OVERFLOW == ret) { int64_t i = 0; while (i < in_str.length() && isspace(in_str[i])) { ++i;