DB2 için Yüzde İşlevleri

IBM'in DB2 veritabanı yönetim yazılımı, veritabanı yapılarını oluşturmak ve yönetmek ve bu yapılardaki bilgileri güncellemek için Structured Query Language veya SQL'i kullanır. SQL, veritabanı verileri üzerinde ayrıntılı analizler gerçekleştirmek için matematiksel işlevler içeren endüstri standardı bir programlama dilidir. SQL kullanarak, bir veritabanı tablosunun her kaydı için, kayıt grupları ve tablo toplamları için yüzdeleri kolayca hesaplayabilirsiniz.

SELECT İfadesi

DB2'nin SQL'i, veritabanı bilgilerinden raporlar oluşturmak için SELECT ifadesini kullanır. İfadenin temel sözdizimi, SELECT sözcüğüdür, ardından bir alan listesi, tablo adları ve verileri test etmek ve sıralamak için WHERE ve ORDER BY gibi isteğe bağlı yan tümceler bulunur. Alanlar doğrudan bir tablodan gelebilir veya tablo alanlarına dayalı olarak hesaplanmış değerler olabilir. Örneğin, ürün kodu, açıklama, fiyat ve miktar dahil olmak üzere bir siparişler tablosunun içeriğini listeleyebilir ve toplamı elde etmek için fiyatı miktarla çarpabilirsiniz.

Basit Bölme

Bir DB2 SELECT deyimindeki en basit yüzde biçimi, bir alanı 100 ile çarpar ve ardından yüzdeyi elde etmek için toplama böler. Örneğin, aşağıdaki SQL, sipariş için bir müşteri adını, siparişi, öğe toplamını ve toplamın yüzdesini listeler:

SELECT name, order_number, item_total, item_total * 100 / order_total FROM order_table;

Yüzdeleri tamsayı alanlarına göre hesaplarsanız, ilk öğeyi 100 ile çarpmak, sonraki bölmenin anlamlı bir yüzde döndürmesini sağlar. Bunun yerine bir tamsayıyı daha büyük bir tamsayıya böler ve sonucu 100 ile çarparsanız, SQL sıfır döndürür.

Ondalık Fonksiyon

DB2'nin SQL sürümü, DECIMAL adlı matematiksel bir işleve sahiptir. Bir yüzde işleviyle kullanarak DECIMAL, sonucun ondalık basamaklarının sayısı üzerinde kontrol sahibi olmanızı sağlar. Aşağıdaki SQL SELECT ifadesi, DECIMAL'in yüzde hesaplamalarında kullanımını gösterir:

SELECT name, order_number, DECIMAL(item_total, item_total * 100.0 / order_total,5,2) yüzde olarak, order_total FROM order_table;

DECIMAL işlevinin üç bağımsız değişkeni vardır: sayı veya hesaplanan değer, kesinlik için basamak sayısı ve ondalıktan sonraki basamak sayısı. Burada kesinlik beş ve ondalıktan sonraki basamak sayısı ikidir. Bu SELECT ifadesi, 56.05 veya 199.10 gibi toplam beş basamaklı ve iki ondalık basamaklı bir sayı olarak bir yüzde üretir.

Kullanıcı Tanımlı Fonksiyonlar

Sık kullanılan, yüzdeyle sonuçlanan karmaşık hesaplamalar için, bir UDF veya Kullanıcı Tanımlı İşlev kullanmayı düşünün. DB2, bir UDF'yi bir nesne olarak depolar, böylece alanlar, tablolar ve diğer nesnelerle birlikte veritabanının bir parçası olur. CREATE FUNCTION deyimi, ardından diğer SQL deyimleri, veritabanına bir işlev girişi yazar. SELECT ifadelerinizde karmaşık hesaplamaları tekrarlamak yerine fonksiyona başvurarak programlamanızı daha basit ve daha güvenilir hale getirebilirsiniz.