diff --git a/be/src/vec/functions/function_string.cpp b/be/src/vec/functions/function_string.cpp index 4bdcc88428e53a..ef18e0585fe125 100644 --- a/be/src/vec/functions/function_string.cpp +++ b/be/src/vec/functions/function_string.cpp @@ -1455,6 +1455,7 @@ void register_function_string(SimpleFunctionFactory& factory) { factory.register_alias(FunctionStringDigestMulti::name, "sm3"); factory.register_alias(FunctionStringDigestSHA1::name, "sha"); factory.register_alias(FunctionStringLocatePos::name, "position"); + factory.register_alias(FunctionStringLength::name, "octet_length"); } } // namespace doris::vectorized diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java index 54d40c546e5a5b..24f5e49686ceb8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java @@ -828,7 +828,7 @@ public class BuiltinScalarFunctions implements FunctionHelper { scalar(Lcm.class, "lcm"), scalar(Least.class, "least"), scalar(Left.class, "left", "strleft"), - scalar(Length.class, "length"), + scalar(Length.class, "length", "octet_length"), scalar(Crc32.class, "crc32"), scalar(Crc32Internal.class, "crc32_internal"), scalar(Like.class, "like"), diff --git a/regression-test/suites/nereids_function_p0/scalar_function/L.groovy b/regression-test/suites/nereids_function_p0/scalar_function/L.groovy index 5f6e44341bd622..daf28b3a8a9f34 100644 --- a/regression-test/suites/nereids_function_p0/scalar_function/L.groovy +++ b/regression-test/suites/nereids_function_p0/scalar_function/L.groovy @@ -73,6 +73,18 @@ suite("nereids_scalar_fn_L") { qt_sql_length_Varchar_notnull "select length(kvchrs1) from fn_test_not_nullable order by kvchrs1" qt_sql_length_String "select length(kstr) from fn_test order by kstr" qt_sql_length_String_notnull "select length(kstr) from fn_test_not_nullable order by kstr" + def length_str = sql """select length(kvchrs1) from fn_test order by kvchrs1""" + def octet_length_str = sql """select octet_length(kvchrs1) from fn_test order by kvchrs1""" + assertEquals(length_str, octet_length_str) + length_str = sql """select length(kvchrs1) from fn_test_not_nullable order by kvchrs1""" + octet_length_str = sql """select length(kvchrs1) from fn_test_not_nullable order by kvchrs1""" + assertEquals(length_str, octet_length_str) + length_str = sql """select length(kstr) from fn_test order by kstr""" + octet_length_str = sql """select octet_length(kstr) from fn_test order by kstr""" + assertEquals(length_str, octet_length_str) + length_str = sql """select length(kstr) from fn_test_not_nullable order by kstr""" + octet_length_str = sql """select octet_length(kstr) from fn_test_not_nullable order by kstr""" + assertEquals(length_str, octet_length_str) qt_sql_like_Varchar_Varchar "select like(kvchrs1, kvchrs2) from fn_test order by kvchrs1" qt_sql_like_Varchar_Varchar_not_null "select like(kvchrs1, kvchrs2) from fn_test_not_nullable order by kvchrs1" qt_sql_ln_Double "select ln(kdbl) from fn_test order by kdbl"