diff --git a/src/sql/engine/expr/ob_expr_substr.cpp b/src/sql/engine/expr/ob_expr_substr.cpp index 90cee5547e..5841e9adb1 100644 --- a/src/sql/engine/expr/ob_expr_substr.cpp +++ b/src/sql/engine/expr/ob_expr_substr.cpp @@ -458,7 +458,7 @@ int ObExprSubstr::substr(common::ObString &varchar, res_len = min(length, mb_len - start); int64_t offset = ObCharset::charpos(cs_type, varchar.ptr(), varchar.length(), start); res_len = ObCharset::charpos(cs_type, varchar.ptr() + offset, - (offset == 0) ? varchar.length() : varchar.length() - offset + 1, res_len); + (offset == 0) ? varchar.length() : varchar.length() - offset, res_len); varchar.assign_ptr(varchar.ptr() + offset, static_cast(res_len)); } }