SQL-Oracle内实现柱形图式的效果

在SQL SERVER内有一个函数replicate()可以实现柱形图效果,本质上是利用字符重复出现的次数来控制柱形图的长短,效果如图:

如果要在Oracle内实现相同的效果,则需要自己写一个函数:

CREATE OR REPLACE FUNCTION KTHIS.REPLICATE(NO IN NUMBER)
RETURN VARCHAR2
/**********************
create by Yggdrasil
***************************/
AS
V_RETURN VARCHAR2(500);
V_COUNT NUMBER;
BEGIN
V_COUNT:=1;
V_RETURN:='=';
IF NO<0 THEN
V_RETURN:=' ';
ELSIF NO<=1 THEN
V_RETURN:='=';
ELSIF NO>1 THEN
LOOP
V_COUNT:=V_COUNT+1;
SELECT V_RETURN||'=' INTO V_RETURN FROM DUAL;
EXIT WHEN V_COUNT>NO;
END LOOP;
END IF;
RETURN V_RETURN;
END;
/

然后调用函数即可实现效果,可以简单地显示出某些数据的变化^_^

原文地址:https://www.cnblogs.com/Yggdrasil/p/6916681.html