Kurs
Verilerle çalışırken hassasiyet önemlidir. Ancak bir veri bilimci veya veri mühendisi olarak, her gün verileri içgörüye dönüştürmenin karmaşıklıklarıyla uğraşırsınız.
Yeteneklerinizi her zaman geliştirebileceğiniz için, SQL `ROUND` fonksiyonunu kullanarak veri işleme konusundaki yetkinliğinizi ve özgüveninizi artırabilirsiniz.
Bu rehber, SQL `ROUND` fonksiyonunun analizinizde veri hassasiyetini nasıl incelikle ayarlayabileceğini keşfetmeyi amaçlıyor.
SQL ROUND nedir?
ROUND fonksiyonu, SQL'de sayısal verilerin hassasiyetini ayarlayan temel bir araçtır. Değerleri belirtilen ondalık basamak sayısına yuvarlar ve analize uygun şekilde veriyi basitleştirir.
Örneğin, SQL ROUND ile 3.14159 gibi bir sayıyı iki ondalık basamağa yuvarlayarak 3.14 değerine çevirebilirsiniz. Bu, kesin hassasiyetin gerekli olmadığı ve yorumlamak için yuvarlanmış değerlerin yeterli olduğu durumlarda kullanışlıdır.
Artık SQL ROUND'un ne olduğunu bildiğinize göre, bunu farklı veritabanlarında nasıl uygulayacağınıza bakalım.
ROUND Sözdizimi
ROUND fonksiyonu yaygın olsa da, sözdizimi tüm veritabanlarında aynı değildir. İşte nasıl farklılaştığı:
Oracle, MySQL ve PostgreSQL'de Sözdizimi
Bu veritabanlarında, ROUND basit iki parametreli bir formata uyar:
ROUND(number, decimal_places)
Burada:
- Input, yuvarlamak istediğiniz sayıyı ifade eder.
- Decimals, kaç ondalık basamağa yuvarlanacağını belirtir.
SQL Server'da Sözdizimi
Buna karşın, SQL Server bu formata bir ek yapar—function adında isteğe bağlı üçüncü bir parametre içerir:
ROUND(number, decimal_places [, function])
Burada:
- İlk iki parametre olan input ve decimals, diğer veritabanlarındakiyle aynı şekilde çalışır.
- İsteğe bağlı function parametresi, belirli koşullarda yuvarlama yönünü belirtir.
Bu sözdizimi farkı küçük görünse de, hangi veritabanı ortamında çalışıyor olursanız olun ROUND fonksiyonunu doğru uygulamanıza yardımcı olduğu için kritik önemdedir.
SQL ROUND Fonksiyonunun Parametreleri
ROUND fonksiyonu üç ana parametre kullanır—input, decimals ve operation. Bu parametreleri anlayarak fonksiyonu SQL veritabanlarında etkin biçimde kullanabilirsiniz.
Input Parametresi
Input, yuvarlamak istediğiniz sayıdır. Doğrudan bir sayı, bir veritabanı sütunu veya bir ifadenin sonucu olabilir.
Decimal Parametresi
Decimal parametresi, girdiyi kaç ondalık basamağa yuvarlayacağınızı kontrol eder. Buraya girilen pozitif bir sayı, o kadar ondalık basamağa yuvarlama yapar.
Function Parametresi
Function parametresi isteğe bağlıdır. Tam iki sayının ortasında kalan değerler için yuvarlama yönünü belirler. Varsayılan değeri 0'dır. Başka herhangi bir değer, girdinin yuvarlanmadan kesilmesine (truncate) neden olur.
Bu parametreler, sayıları hassas ve kontrollü biçimde yuvarlamayı sağlar.
SQL Veritabanlarında SQL ROUND Fonksiyonunu Kullanma
SQL ROUND'u çeşitli SQL veritabanlarında kullanabilirsiniz. Ancak, veritabanına bağlı olarak sözdizimi ve davranışta küçük farklılıklar olabilir.
İşte en popüler veritabanlarında nasıl kullanabileceğiniz:
Oracle'da Uygulama
Oracle'da ROUND fonksiyonu sayısal veriler ve tarih değerleriyle çalışır. Sayılara uygulandığında, değeri belirtilen ondalık basamağa yuvarlar.
Tarih değerleri için ROUND, belirtilen formata bağlı olarak tarihi en yakın gün, ay, yıl vb. bileşene ayarlayabilir.
Oracle'da nasıl çalıştığına dair bir örnek:
Elinizde aşağıdaki PRODUCTS tablosu olduğunu varsayın.

Şimdi, standard_cost sütununu bir ondalık basamağa yuvarlamak istiyorsanız, sorguyu şöyle yazarsınız.
SELECT Round(STANDARD_COST, 1)
FROM PRODUCTS
Yuvarlanmış maliyet böyle görünecek.

MySQL'de Uygulama
MySQL'de ROUND, sayıları belirtilen hassasiyete yuvarlamak için benzer şekilde çalışır.
İşte nasıl çalıştığına bir örnek:
Elinizde aşağıdaki purchase_details tablosu olduğunu varsayın.

Şimdi, Paid_amount sütununu iki ondalık basamağa yuvarlamak istiyorsanız, sorguyu şöyle yazarsınız.
SELECT Round(Paid_amount, 2)
AS Result
FROM purchase_details
Yuvarlanmış tutar böyle görünecek.

PostgreSQL'de Uygulama
PostgreSQL de ROUND'u benzer şekilde uygular. İşte nasıl uygulayabileceğinize dair bir örnek:
Elinizde aşağıdaki reviews tablosu olduğunu varsayın.

Şimdi, imdb_score sütununu sıfır ondalık basamağa yuvarlamak istiyorsanız, sorguyu şöyle yazarsınız.
SELECT Round(imdb_score, 0)
AS Result
FROM cinema.reviews
Yuvarlanmış film incelemeleri böyle görünecek.

SQL Server'da Uygulama
Microsoft SQL Server'da, ROUND sayısal değerlerle çalışırken Oracle'a benzer şekilde davranır.
Ancak SQL Server'ı benzersiz kılan bir yön, üçüncü parametresi olan function'dır; bu parametre, sayının yuvarlanmasını (function = 0 veya belirtilmemiş) mı yoksa kesilmesini (function = 1) mı istediğinizi belirtmenize olanak tanır.
İşte SQL ROUND'un bir SQL Server'da nasıl çalıştığına dair bir örnek:
Elinizde aşağıdaki order_items tablosu olduğunu varsayın.

Şimdi, list_price sütununu bir ondalık basamağa yuvarlamak istiyorsanız, sorguyu şöyle yazarsınız.
SELECT Round(list_price, 1,0)
AS Result
FROM sales.order_items
Yuvarlanmış fiyat böyle görünecek.

Pratik Uygulama
Artık parametreleri bildiğinize göre, ROUND fonksiyonunu pratikte uygulama zamanı. O halde, veri analizinde sayılar ve tarihlerle bunu nasıl yapacağınıza bakalım.
Sayılarla ROUND
orderDetails adlı bir tablonuz olduğunu ve birden fazla ondalık basamak içeren fiyat sütununa sahip olduğunu varsayın.

Şimdi, Price sütununu bir ondalık basamağa yuvarlamak istiyorsanız, sorguyu şöyle yazarsınız.
SELECT Round(Price, 1)
AS Result
FROM orderDetails
Bu sorgu, tablodaki her fiyatı bir ondalık basamağa yuvarlar.
Ve sonuç şöyle görünecektir:

Tarihlerle ROUND
SQL'de, tarih değerlerini yıl, ay, saat veya dakika gibi belirli bir bileşene yuvarlayabilirsiniz.
orders adlı bir tablonuz olduğunu varsayın.

Şimdi, order_date sütununu en yakın yıla yuvarlamak istiyorsanız, sorguyu şöyle yazarsınız:
SELECT YEAR(order_date)
AS ROUNDED_DATE
FROM sales.orders
Bu sorgu, sütundaki her tarihi en yakın yıla yuvarlar.
Ve sonuç şöyle görünecektir:

Gelişmiş SQL ROUND Teknikleri
Temel yuvarlamanın ötesinde, SQL ROUND fonksiyonu daha gelişmiş senaryolarda da kullanılır. Örneğin:
- SQL yukarı yuvarlama
- SQL aşağı yuvarlama
- Belirli aralıklara yuvarlama
Her birinin nasıl çalıştığı şöyle:
SQL ROUND Up ve ROUND Down
ROUND fonksiyonu en yakın değere yuvarlarken, belirli yuvarlama yönlerini CEIL ve FLOOR fonksiyonlarını kullanarak elde edebilirsiniz.
CEIL fonksiyonu, herhangi bir ondalık değeri bir sonraki tam sayıya yuvarlar. Örneğin, şuna bakın:
reviews adlı bir tablonuz var.

user_score sütununa CEIL fonksiyonunu şöyle uygularsınız.
Select CEIL(user_score)
FROM reviews
Alacağınız sonuç şöyledir:

CEIL fonksiyonundan farklı olarak, FLOOR herhangi bir ondalık değeri en yakın alt tam sayıya yuvarlar. Örneğin, şuna bakın.
Önceki reviews tablosuna FLOOR uygularsanız, sorguyu şöyle yazarsınız:
Select FLOOR(user_score)
FROM reviews
Alacağınız sonuç şöyledir:

Belirli Aralıklara Yuvarlama
Bazen sayıları en yakın 5, 10 veya 100 gibi belirli aralıklara yuvarlamanız gerekir. Bunu yapmak için ROUND'u bölme ve çarpma ile birleştirmelisiniz.
Diyelim ki bir sayıyı veya sütunu en yakın 10'a yuvarlamanız gerekiyor; bunun için şu sorguyu yazarsınız:
SELECT Round(number / 10) * 10
FROM table_name
Bu teknik, verilerin belirli aralıklarda gruplanmasının daha anlamlı olduğu stok yönetimi veya istatistiksel analiz gibi zorluklarla başa çıkmaya yardımcı olur.
SQL ROUND'a Benzer Fonksiyonlar
ROUND'a ek olarak, SQL'de sayıların yuvarlanması ve kesilmesi için kullanılan birkaç başka fonksiyon daha vardır.
CEIL Fonksiyonu
CEILING fonksiyonu ya da CEIL, bir sayıyı en yakın tam sayıya veya belirtilen hassasiyete doğru yukarı yuvarlar. CEILING, en yakın değere yuvarlayan ROUND'dan farklı olarak daima yukarı yuvarlar.
Örneğin: CEILING(2.3) değeri 3 döndürür.
Bu fonksiyon, yuvarlanan değerin özgün sayıdan küçük olmamasını sağlamanız gereken durumlarda özellikle faydalıdır.
FLOOR Fonksiyonu
FLOOR fonksiyonu, bir sayıyı en yakın tam sayıya veya belirtilen hassasiyete doğru aşağı yuvarlar.
Örneğin: FLOOR(2.7) değeri 2 döndürür.
Bu fonksiyon, yuvarlanan sayının özgün sayıdan büyük olmamasını sağlar.
TRUNC Fonksiyonu
TRUNC (truncate) fonksiyonu, bir sayının ondalık kısmını kaldırır ve sıfıra doğru aşağı yuvarlar.
Örneğin: TRUNC(2.9) 2 döndürür, TRUNC(-2.9) ise -2 döndürür.
TRUNC, bir sayının kesirli kısmını zorunlu olarak yuvarlamadan kaldırır.
Kısacası, her bir fonksiyon—CEILING, FLOOR ve TRUNC—ROUND fonksiyonunu tamamlayan, veri işleme için belirli bir amaca hizmet eder.
Bu fonksiyonlarla, çok daha geniş bir yuvarlama senaryosunu, verinin bağlamına daha uygun ve yüksek hassasiyetle ele alabilirsiniz. Benzer SQL teknikleri hakkında daha fazla bilgi edinmek isterseniz, ipuçları sayfasına göz atın ve pratik yapmaya başlayın.
Sonuç
Verilerinizi doğru elde etmek son derece önemlidir ve SQL ROUND fonksiyonu, sayılarınızın çalışması kolay hale gelmesini sağlamanın harika bir yoludur. Sayılarınızı en yakın ondalık basamağa yuvarlamanıza ve verilerinizi daha anlaşılır kılmanıza yardımcı olur.
Sayılarınızı belirli bir şekilde yuvarlamanız gerekiyorsa, CEIL, FLOOR ve TRUNC gibi başka fonksiyonlar da size yardımcı olabilir.
İster yeni başlayan bir veri uygulayıcısı olun ister becerilerinizi cilalamak isteyin, SQL Fundamentals ve Intermediate SQL gibi kurslar yardımcı olacaktır.
Artık bunu uygulamaya koyma zamanı. İyi şanslar!
Karmaşık konuları basitleştirmeyi seven bir içerik stratejistiyim. Splunk, Hackernoon ve Tiiny Host gibi şirketlerin hedef kitleleri için ilgi çekici ve bilgilendirici içerikler üretmelerine yardımcı oldum.

