1. 程式人生 > >SQL-Oracle內實現柱形圖式的效果

SQL-Oracle內實現柱形圖式的效果

alt his 出現 elsif 次數 字符 利用 () dual

在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;
/

然後調用函數即可實現效果,可以簡單地顯示出某些數據的變化^_^

SQL-Oracle內實現柱形圖式的效果