fix upper expression return empty string in oracle mode bug

This commit is contained in:
obdev
2023-02-06 23:38:08 +08:00
committed by ob-robot
parent 2e48b19c40
commit 537d3af901
3 changed files with 31 additions and 1 deletions

View File

@ -446,7 +446,12 @@ int ObExprLowerUpper::calc_common(const ObExpr &expr, ObEvalCtx &ctx,
}
}
if (OB_SUCC(ret)) {
expr_datum.set_string(str_result);
if (OB_UNLIKELY(is_oracle_mode() && str_result.length() == 0
&& ob_is_string_tc(expr.datum_meta_.type_))) {
expr_datum.set_null();
} else {
expr_datum.set_string(str_result);
}
}
}
return ret;