将带有to_number和value_error期望的oracle UDF函数转换为AWS RDS maria db.&



create or replace FUNCTION num_check (p_string IN VARCHAR2)返回数是v_new_num数量;开始v_new_num:= TO_NUMBER(p_string);返回v_new_num;异常当value_error时返回NULL;结束num_check;

CREATE FUNCTION num_check(P_STRING TEXT)
RETURN DOUBLE
IS
v_new_num DOUBLE;
EXIT HANDLER FOR 1366
BEGIN
RETURN NULL;
END;
BEGIN
v_new_num := CAST(REPLACE(p_string, ',', '.') AS DECIMAL (65, 30));
RETURN v_new_num;
END num_check;
set sql_mode = DEFAULT;

上述代码转换为maria db部分工作,不能像oracle那样产生value_error。

甲骨文:SELECT num_check('994532.145188.88888888') FROM dual——null

玛丽亚db:SELECT num_check('994532.145188.88888888')——994532.145188

如何在maria db中产生相同的结果。

最新更新