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

2023年 11月 24日 72.3k 0

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;

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论