人大金仓数据库兼容mysql中truncate函数

create function sys.truncate1(numeric,int4)

returns numeric

as $$

declare

    left_value numeric; 

    right_value numeric; 

    temp varchar;

    temp1 varchar;

    res numeric;

begin

    left_value := length(substring(cast($1 as varchar), position(‘.’ in cast($1 as varchar))+ 1));

    right_value := length($1 ::varchar) – left_value -1;

    if $2 >= 0 then

        if left_value = right_value then

            return 0;

        else

            temp := substr(cast($1 as varchar), 1, right_value-ABS($2));

            temp1 := RPAD(temp, ABS($2) + length(temp), ‘0’);

            return TO_NUMBER(temp1,’99999999999999999999.999999999999999999999999′);

        end if;

    end if;

end;

$$ language plpgsql;

上一篇 pip指令在哪里执行
下一篇 Wave:即使你讨厌命令行,也会喜欢的现代新 Linux 终端