Il software di gestione del database DB2 di IBM utilizza lo Structured Query Language, o SQL, per creare e gestire strutture di database e aggiornare le informazioni in esse contenute. SQL è un linguaggio di programmazione standard del settore che include funzioni matematiche per eseguire analisi dettagliate sui dati del database. Utilizzando SQL, puoi calcolare facilmente le percentuali per ogni record di una tabella di database, per gruppi di record e per totali di tabella.
Dichiarazione SELECT
SQL di DB2 utilizza l'istruzione SELECT per creare report dalle informazioni del database. La sintassi di base dell'istruzione è la parola SELECT seguita da un elenco di campi, nomi di tabelle e clausole facoltative come WHERE e ORDER BY per testare e ordinare i dati. I campi possono provenire direttamente da una tabella oppure possono essere valori calcolati in base ai campi della tabella. Puoi, ad esempio, elencare il contenuto di una tabella ordini, incluso un codice prodotto, descrizione, prezzo e quantità, e puoi moltiplicare il prezzo per la quantità per ottenere il totale.
Divisione semplice
La forma più semplice di percentuale in un'istruzione DB2 SELECT moltiplica un campo per 100, quindi divide per un totale per ottenere la percentuale. Ad esempio, il seguente codice SQL elenca il nome del cliente, l'ordine, il totale dell'articolo e la percentuale del totale dell'ordine:
SELECT nome, numero_ordine, totale_articolo, totale_articolo * 100 / totale_ordine AS percentuale FROM tabella_ordine;
Se calcoli le percentuali in base ai campi interi, moltiplicando il primo elemento per 100 si assicura che una divisione successiva restituisca una percentuale significativa. Se invece dividi un numero intero per un numero intero più grande e moltiplichi il risultato per 100, SQL restituisce uno zero.
Funzione decimale
La versione di SQL di DB2 ha una funzione matematica chiamata DECIMAL. Usandolo con una funzione percentuale, DECIMAL ti dà il controllo sul numero di posizioni decimali del risultato. La seguente istruzione SQL SELECT illustra l'uso di DECIMAL nei calcoli percentuali:
SELECT nome, numero_ordine, DECIMAL(totale_articolo, totale_articolo * 100.0 / totale_ordine,5,2) AS percentuale, totale_ordine FROM tabella_ordine;
La funzione DECIMALE ha tre argomenti: il numero o valore calcolato, il numero di cifre per la precisione e il numero di cifre dopo la virgola. Qui, la precisione è cinque e il numero di cifre dopo la virgola è due. Questa istruzione SELECT produce una percentuale sotto forma di numero con cinque cifre totali e due posizioni decimali, ad esempio 56,05 o 199,10.
Funzioni definite dall'utente
Per i calcoli complessi utilizzati di frequente che generano una percentuale, considerare l'utilizzo di una UDF o una funzione definita dall'utente. DB2 memorizza una UDF come oggetto, quindi diventa parte del database insieme a campi, tabelle e altri oggetti. L'istruzione CREATE FUNCTION, seguita da altre istruzioni SQL, scrive una voce di funzione nel database. Invece di ripetere i calcoli complessi nelle istruzioni SELECT, puoi fare riferimento alla funzione, rendendo la tua programmazione più semplice e affidabile.