Archivio agosto 2008

SQL, come generare un grafico in Oracle 0

ago5
Grafico con una query

Se vogliamo ottenere un grafico testuale utilizzando solo delle funzioni SQL messe a disposizione da Oracle possiamo utilizzare
la funzione LPAD (left padding) che ha la seguente signature:

lpad( stringa, lunghezza_totale, [ stringa_padding ] )

La funzione non fa altro che riempire la stringa con i caratteri di stringa_padding fino a raggiungere la lunghezza_totale.

ES.
lpad('ciao', 7); restituirà '   ciao'
lpad('ciao', 2); restituirà 'ci'
lpad('ciao', 8, '0'); restituirà '0000tech'
lpad('ciao bellissima', 15, 'H'); restituirà 'ciao bellissima'
lpad('ciao bellissima', 16, 'H'); restituirà 'Hciao bellissima'

Per ottenere un diagramma possiamo utilizzare questa funzione come segue:

SELECT d.nome AS "Dipartimento",
  LPAD('*', COUNT(*), '*') as "Grafico"
FROM impiegati i, dipartimenti d
WHERE i.id = d.id
GROUP BY d.nome;

Otterremo come risultato un istogramma con il numero di impiegati di ogni dipartimento

Dipartimento       Grafico
------------------ --------------------
GES. PERSONALE     *****
RICERCA            *************
VENDITE            *********
MARKETING          ***

Nell’esempio il valore COUNT(*) è usato per controllare il numero di asterischi che compariranno nel grafico.
Analogamente possiamo utilizzare la funzione di right padding per ottenere un istogramma partente da destra.

rpad( stringa, lunghezza_totale, [ stringa_padding ] )

Dipartimento       Grafico
------------------ --------------------
GES. PERSONALE                    *****
RICERCA                   *************
VENDITE                       *********
MARKETING                           ***

IT c.s.p. usa una versione modificata di FREEmium Theme.
Politiche sulla privacy - Copyright