本文由我司收集整编,推荐下载,如有疑问,请与我司联系
postgresql函数postgre trunc函数的使用方法
2018/03/07 36 drop function if exists appropriate_units(bigint);create or replace function appropriate_units(bigint) returns text as $$ with cte as( select ARRAY[‘B’, ‘KB’, ‘MB’, ‘GB’, ‘TB’] as units,trunc(log($1)/log(1024))::integer as curindex ),precision as( select units,curindex, (case when curindex 2 then 0 when curindex=2 then 1 else 2 end) as prec from cte ) select (case when 0=$1 then ‘0byte’ else ( round(($1 / pow(1024,curindex))::numeric,prec)::text || units[curindex + 1] ) end) as size from precision;$$ language sql; 注意事项
函数支持的最大单位为TB,超过TB范围将返回null值,如果要支持更多的单位,请在cte中的ARRAY数组添加. 计算机存储单位为B,KB、MB、GB、TB、PB、EB、ZB、YB、BB 转换后的值byte,KB精确到整数,MB精确到小数后一位,其它精确到小数后两位 2.使用方法select appropriate_units(327),appropriate_units(32768),appropriate_units(3276800),appropriate_ units(3276800000000),appropriate_units(327680000000000); 查询结果
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论