Fungsi Persentase untuk DB2

Perangkat lunak manajemen basis data DB2 IBM menggunakan Structured Query Language, atau SQL, untuk membuat dan mengelola struktur basis data dan memperbarui informasi di dalamnya. SQL adalah bahasa pemrograman standar industri yang mencakup fungsi matematika untuk melakukan analisis rinci pada data database. Menggunakan SQL, Anda dapat dengan mudah menghitung persentase untuk setiap catatan tabel database, untuk grup catatan, dan untuk total tabel.

PILIH Pernyataan

SQL DB2 menggunakan pernyataan SELECT untuk membuat laporan dari informasi database. Sintaks dasar dari pernyataan tersebut adalah kata SELECT diikuti dengan daftar field, nama tabel dan klausa opsional seperti WHERE dan ORDER BY untuk menguji dan menyortir data. Bidang mungkin berasal langsung dari tabel atau nilai yang dihitung berdasarkan bidang tabel. Anda dapat, misalnya, membuat daftar isi tabel pesanan, termasuk kode produk, deskripsi, harga dan kuantitas, dan Anda dapat mengalikan harga dengan kuantitas untuk mendapatkan total.

Divisi Sederhana

Bentuk persentase paling sederhana dalam pernyataan DB2 SELECT mengalikan satu bidang dengan 100, lalu membagi dengan total untuk mendapatkan persentase. Misalnya, SQL berikut mencantumkan nama pelanggan, pesanan, total item, dan persentase total untuk pesanan:

PILIH nama, order_number, item_total, item_total * 100 / order_total SEBAGAI persentase FROM order_table;

Jika Anda menghitung persentase berdasarkan bidang bilangan bulat, mengalikan item pertama dengan 100 memastikan bahwa pembagian berikutnya menghasilkan persentase yang berarti. Jika Anda membagi bilangan bulat dengan bilangan bulat yang lebih besar dan mengalikan hasilnya dengan 100, SQL mengembalikan nol.

Fungsi Desimal

Versi SQL DB2 memiliki fungsi matematika yang disebut DECIMAL. Menggunakannya dengan fungsi persentase, DECIMAL memberi Anda kendali atas jumlah tempat desimal dari hasil. Pernyataan SQL SELECT berikut menggambarkan penggunaan DECIMAL dalam perhitungan persentase:

PILIH nama, order_number, DECIMAL(item_total, item_total * 100.0 / order_total,5,2) AS persentase, order_total FROM order_table;

Fungsi DECIMAL memiliki tiga argumen: angka atau nilai yang dihitung, jumlah digit untuk presisi, dan jumlah digit setelah desimal. Di sini, presisinya adalah lima dan jumlah digit setelah desimal adalah dua. Pernyataan SELECT ini menghasilkan persentase sebagai angka yang memiliki lima digit total dan dua tempat desimal, seperti 56,05 atau 199,10.

Fungsi yang Ditentukan Pengguna

Untuk perhitungan kompleks yang sering digunakan yang menghasilkan persentase, pertimbangkan untuk menggunakan UDF, atau Fungsi Buatan Pengguna. DB2 menyimpan UDF sebagai objek, sehingga menjadi bagian dari database bersama dengan bidang, tabel, dan objek lainnya. Pernyataan CREATE FUNCTION, diikuti oleh pernyataan SQL lainnya, menulis entri fungsi dalam database. Alih-alih mengulangi perhitungan rumit dalam pernyataan SELECT, Anda dapat merujuk ke fungsi tersebut, membuat pemrograman Anda lebih sederhana dan lebih andal.