Yuvarlama ve Kesme
ROUND, CEIL, FLOOR ve TRUNC.
Yuvarlama ve Kesme, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
Yuvarlama Neden Önemlidir
SQL'de sayılarla çalışırken çoğu zaman çok sayıda ondalık basamak içeren sonuçlar elde edersiniz. Örneğin, 10'u 3'e bölmek 3.3333333... sonucunu verir.
SQL, görüntülediğiniz veya sakladığınız ondalık basamak sayısını denetlemek için yerleşik işlevler sağlar: ROUND, CEIL, FLOOR ve TRUNC. Bunlar düzgün finansal rakamlar, ölçümler ve istatistikler sunmak için vazgeçilmezdir.
SELECT 10.0 / 3.0 AS raw_result;ROUND: Temel Kullanım
ROUND() işlevi, bir sayıyı belirtilen ondalık basamak sayısına yuvarlar. Standart yuvarlama kurallarını izler: 5 ve üzerindeki basamaklar yukarı, 5'in altındaki basamaklar aşağı yuvarlanır.
Söz dizimi şöyledir: ROUND(number, decimal_places). İkinci bağımsız değişkeni atlarsanız sayı en yakın tam sayıya yuvarlanır.
SELECT
ROUND(3.14159, 2) AS two_decimals,
ROUND(3.14159, 0) AS zero_decimals,
ROUND(3.14159) AS no_arg;Negatif Basamaklarla ROUND
ROUND() işlevinin daha az bilinen bir özelliği, ikinci bağımsız değişken olarak negatif bir sayı geçirebilmenizdir. Bu, ondalık noktasının soluna doğru yuvarlama yapar; en yakın onluğa, yüzlüğe veya binliğe yuvarlamak için kullanışlıdır.
Örneğin, ROUND(1567, -2) en yakın yüzlüğe yuvarlanır ve 1600 sonucunu verir.
SELECT
ROUND(1567.89, -1) AS nearest_ten,
ROUND(1567.89, -2) AS nearest_hundred,
ROUND(1567.89, -3) AS nearest_thousand;CEIL: Her Zaman Yukarı Yuvarlama
CEIL() (bazı veritabanlarında CEILING() olarak da yazılır), ondalık kısmından bağımsız olarak bir sayıyı her zaman yukarı, en yakın tam sayıya yuvarlar.
Bu, bir alt sınıra düşmemeniz gerektiğinde kullanışlıdır; örneğin bir sonuç kümesini görüntülemek için gereken sayfa sayısını hesaplarken.
SELECT
CEIL(4.1) AS ceil_4_1,
CEIL(4.9) AS ceil_4_9,
CEIL(-4.1) AS ceil_neg_4_1,
CEIL(-4.9) AS ceil_neg_4_9;FLOOR: Her Zaman Aşağı Yuvarlama
FLOOR(), ondalık kısmından bağımsız olarak bir sayıyı her zaman aşağı, en yakın tam sayıya yuvarlar.
Negatif sayılarda FLOOR'un sıfırdan uzağa yuvarladığına dikkat edin: FLOOR(-4.1) -5 sonucunu verir, -4 değil. Bu, bazı başlangıç düzeyindeki kullanıcıların beklediğinin tam tersidir.
SELECT
FLOOR(4.9) AS floor_4_9,
FLOOR(4.1) AS floor_4_1,
FLOOR(-4.1) AS floor_neg_4_1,
FLOOR(-4.9) AS floor_neg_4_9;CEIL ve FLOOR Yan Yana
CEIL ve FLOOR'u birlikte görmek aralarındaki farkı anlamayı kolaylaştırır. CEIL her zaman bir sonraki tam sayıya yükselirken FLOOR her zaman aşağı iner.
Bunu bir bina gibi düşünün: FLOOR, düştüğünüz zemin katı; CEIL ise yükseldiğiniz tavandır.
SELECT
2.3 AS original,
CEIL(2.3) AS ceil_result,
FLOOR(2.3) AS floor_result
UNION ALL
SELECT
7.8,
CEIL(7.8),
FLOOR(7.8);TRUNC: Yuvarlamadan Kesme
TRUNC() (veya MySQL'de TRUNCATE()), yuvarlama yapmadan ondalık basamakları kaldırır. Belirtilen konumdan sonraki basamakları doğrudan kesip atar.
Bu, ROUND işleminden farklıdır: TRUNC(4.9) 4 sonucunu verir, 5 değil. Ondalık kısım yalnızca atılır.
SELECT
TRUNC(4.9) AS trunc_4_9,
TRUNC(4.1) AS trunc_4_1,
TRUNC(-4.9) AS trunc_neg_4_9,
TRUNC(3.14159, 3) AS trunc_3_decimals;ROUND ve TRUNC Karşılaştırması
ROUND ile TRUNC arasındaki temel fark, ROUND'un değeri sonraki basamağa göre değiştirmesi, TRUNC'un ise kesme noktasından sonraki her şeyi herhangi bir düzeltme yapmadan atmasıdır.
Matematiksel olarak en yakın değeri istediğinizde ROUND kullanın. Hassasiyeti yukarı doğru herhangi bir ayarlama yapmadan kesin olarak kaldırmak istediğinizde TRUNC kullanın; bu, özellikle fazla ödeme yapmamanız gereken finansal hesaplamalarda yaygındır.
SELECT
ROUND(2.567, 1) AS rounded,
TRUNC(2.567, 1) AS truncated;
-- ROUND gives 2.6 (5 rounds up)
-- TRUNC gives 2.5 (just cuts off)Gerçek Bir Tabloda ROUND Kullanımı
Yuvarlama işlevleri tablo sütunlarına uygulandığında en güçlü hâline gelir. Burada fiyatları olan basit bir ürünler tablosu oluşturuyor ve bunları düzgün bir biçimde görüntülemek için ROUND uyguluyoruz.
Bu kullanım, ham hesaplamaların çok sayıda ondalık basamak ürettiği e-ticaret ve muhasebe sorgularında oldukça yaygındır.
CREATE TABLE products (
name TEXT,
price NUMERIC
);
INSERT INTO products VALUES
('Widget', 9.999),
('Gadget', 24.3333),
('Doohickey', 4.5678);
SELECT name, ROUND(price, 2) AS display_price
FROM products;Bir Sorguda İşlevleri Birleştirme
Yuvarlama işlevlerini diğer SQL ifadeleriyle birleştirebilirsiniz. Örneğin indirimli bir fiyat hesaplayıp sonra görüntülemek için yuvarlayabilirsiniz.
Bu sorgu %15 indirim uygular, sonucu 2 ondalık basamağa yuvarlar ve ayrıca indirimli fiyatın FLOOR ve CEIL değerlerini gösterir; böylece en düşük ve en yüksek tam sayı fiyatlarını verir.
SELECT
name,
price,
ROUND(price * 0.85, 2) AS discounted,
FLOOR(price * 0.85) AS min_price,
CEIL(price * 0.85) AS max_price
FROM products;CEIL ile Sayfalandırma
CEIL için klasik kullanım, bir sayfalandırma sistemindeki toplam sayfa sayısını hesaplamaktır. 97 satırınız varsa ve sayfa başına 10 satır gösteriyorsanız CEIL(97 / 10.0) = 10 sayfaya ihtiyacınız vardır (son sayfada 7 satır bulunduğu için 9 değil).
Tam sayı bölmesinden kaçınmak için her zaman ondalık bir sayıya bölün (10 yerine 10.0); aksi takdirde kalan, CEIL işlem yapamadan önce atılır.
SELECT
97 AS total_rows,
10 AS rows_per_page,
CEIL(97 / 10.0) AS total_pages;Hızlı Kontrol
SQL'deki yuvarlama işlevleri konusundaki anlayışınızı sınayın.
Ders Özeti
Harika iş! SQL'deki yuvarlama ve kesme işlevlerinin özeti:
- ROUND(n, d) — standart matematik kurallarını kullanarak d ondalık basamağa yuvarlar (5 ve üzeri yukarı yuvarlanır).
- CEIL(n) — her zaman en yakın tam sayıya yukarı yuvarlar.
- FLOOR(n) — her zaman en yakın tam sayıya aşağı yuvarlar.
- TRUNC(n, d) — d konumundan sonraki basamakları yuvarlamadan kaldırır; değeri hiçbir zaman artırmaz.
Görüntüleme ve istatistikler için ROUND, minimum kapasite hesaplamaları (sayfa sayısı gibi) için CEIL, sığabilecek en yüksek miktarı hesaplamak için FLOOR ve yukarı doğru yuvarlamamanız gereken durumlarda, özellikle finansal bağlamlarda, TRUNC kullanın.
Sıkça Sorulan Sorular
“Yuvarlama ve Kesme” dersi ücretsiz mi?
Evet — “Yuvarlama ve Kesme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“Yuvarlama ve Kesme” dersinde ne öğreneceğim?
ROUND, CEIL, FLOOR ve TRUNC. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Yuvarlama ve Kesme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.