Lewati ke konten utama

Menguasai SQL ROUND: Penanganan Presisi dalam Analisis Data

Pelajari cara menggunakan fungsi SQL ROUND dalam tutorial ini. Mencakup implementasi fungsi ROUND di Oracle, MySQL, PostgreSQL, dan SQL Server.
· 10 mnt Baca

Jelajahi bersama AI

Saat Anda bekerja dengan data, ketelitian itu penting. Namun sebagai data scientist atau data engineer, Anda berhadapan dengan kompleksitas mengubah data menjadi insight setiap hari.

Karena selalu ada ruang untuk mempertajam keterampilan, Anda dapat meningkatkan kapabilitas dan kepercayaan diri dalam menangani data dengan menggunakan fungsi SQL `ROUND`.

Panduan ini bertujuan untuk mengeksplorasi bagaimana fungsi SQL `ROUND` dapat menyetel presisi data dalam analisis Anda.

Apa itu SQL ROUND?

Fungsi ROUND adalah alat mendasar yang menyesuaikan presisi data numerik di SQL. Fungsi ini membulatkan nilai ke jumlah tempat desimal yang ditentukan dan menyederhanakan data untuk analisis.

Misalnya, dengan SQL ROUND, Anda dapat mengubah angka seperti 3.14159 menjadi 3.14 dengan membulatkannya ke dua tempat desimal. Ini berguna saat presisi tingkat tinggi tidak diperlukan dan angka hasil pembulatan sudah cukup untuk interpretasi.

Sekarang setelah Anda tahu apa itu SQL ROUND, mari lihat cara mengimplementasikannya di berbagai database.

Sintaks ROUND

Fungsi ROUND umum digunakan, tetapi sintaksnya tidak seragam di semua database. Berikut perbedaannya:

Sintaks di Oracle, MySQL, dan PostgreSQL

Pada database ini, ROUND menggunakan format sederhana dengan dua parameter:

ROUND(number, decimal_places)

Penjelasan:

  • Input mengacu pada angka yang ingin Anda bulatkan.
  • Decimals menentukan jumlah tempat desimal yang akan dibulatkan.

Sintaks di SQL Server

Namun, SQL Server menambahkan sedikit variasi pada format ini—ada parameter ketiga opsional yang disebut function:

ROUND(number, decimal_places [, function])

Penjelasan:

  • Dua parameter pertama, input dan decimals, bekerja seperti pada database lain.
  • Parameter function yang opsional menentukan arah pembulatan dalam kondisi tertentu.

Perbedaan sintaks ini tampak kecil, tetapi penting untuk dipahami karena membantu Anda menerapkan fungsi ROUND dengan benar, apa pun lingkungan database yang Anda gunakan.

Parameter Fungsi SQL ROUND

Fungsi ROUND menggunakan tiga parameter utama—input, decimals, dan operation. Dengan memahami parameter-parameter ini, Anda dapat menggunakan fungsi tersebut secara efektif di database SQL.

Parameter Input

Input adalah angka yang ingin Anda bulatkan. Dapat berupa angka langsung, kolom database, atau hasil dari suatu ekspresi.

Parameter Decimal

Parameter decimal mengontrol berapa banyak tempat desimal yang menjadi tujuan pembulatan. Angka positif di sini membulatkan ke sebanyak tempat desimal tersebut.

Parameter Function

Parameter function bersifat opsional. Parameter ini menentukan arah pembulatan untuk nilai yang tepat berada di tengah antara dua angka. Secara default, nilainya 0. Nilai lain akan membuat fungsi melakukan pemotongan (truncate) atau memotong input tanpa pembulatan.

Parameter-parameter ini membantu pembulatan angka secara presisi dan terkontrol.

Menggunakan Fungsi SQL ROUND di Berbagai Database SQL

Anda dapat menggunakan SQL ROUND di berbagai database SQL. Namun, bergantung pada databasenya, penerapannya dapat sedikit berbeda dalam sintaks dan perilaku.

Berikut cara menggunakannya di beberapa database paling populer:

Implementasi di Oracle

Fungsi ROUND di Oracle bekerja untuk data numerik dan nilai tanggal. Saat diterapkan pada angka, fungsi ini membulatkan nilai ke tempat desimal yang ditentukan.

Untuk nilai tanggal, ROUND dapat menyesuaikan tanggal ke hari, bulan, tahun terdekat, dan seterusnya, tergantung format yang ditentukan.

Berikut contoh cara kerjanya di Oracle:

Misalkan Anda memiliki tabel PRODUCTS berikut.

image8.jpg

Sekarang, jika Anda ingin membulatkan kolom standard_cost ke satu tempat desimal, berikut cara membuat kuerinya.

SELECT Round(STANDARD_COST, 1) 
FROM PRODUCTS

Berikut tampilan biaya setelah dibulatkan.

image7.jpg

Implementasi di MySQL

Di MySQL, ROUND bekerja serupa untuk membulatkan angka ke presisi yang ditentukan.

Berikut contoh cara kerjanya:

Misalkan Anda memiliki tabel purchase_details berikut.

image16.jpg

Sekarang, jika Anda ingin membulatkan kolom Paid_amount ke dua tempat desimal, berikut cara membuat kuerinya.

SELECT Round(Paid_amount, 2) 
AS Result
FROM purchase_details

Berikut tampilan jumlah setelah dibulatkan.

image3.jpg

Implementasi di PostgreSQL

PostgreSQL juga mengimplementasikan ROUND dengan cara serupa. Berikut contoh cara Anda mengimplementasikannya:

Misalkan Anda memiliki tabel reviews berikut.

image14.jpg

Sekarang, jika Anda ingin membulatkan kolom imdb_score ke nol tempat desimal, berikut cara membuat kuerinya.

SELECT Round(imdb_score, 0) 
AS Result 
FROM cinema.reviews

Berikut tampilan ulasan film setelah dibulatkan.

image9.jpg

Implementasi di SQL Server

Di Microsoft SQL Server, ROUND berperilaku mirip Oracle saat menangani nilai numerik.

Namun satu aspek unik di SQL Server adalah parameter ketiga—function—yang memungkinkan pengguna menentukan apakah ingin membulatkan angka (function = 0 atau diabaikan) atau melakukan truncation (function = 1).

Berikut contoh cara kerja SQL ROUND di SQL Server:

Misalkan Anda memiliki tabel order_items berikut.

image10.jpg

Sekarang, jika Anda ingin membulatkan kolom list_price ke satu tempat desimal, berikut cara membuat kuerinya.

SELECT Round(list_price, 1,0) 
AS Result 
FROM sales.order_items

Berikut tampilan harga setelah dibulatkan.

image6.jpg

Implementasi Praktis

Sekarang setelah Anda memahami parameternya, saatnya menerapkan fungsi ROUND secara praktis. Mari lihat cara melakukannya pada angka dan tanggal dalam analisis data.

ROUND pada Angka

Misalkan Anda memiliki tabel bernama orderDetails, dan tabel tersebut memiliki kolom harga dengan beberapa tempat desimal.

image4.jpg

Sekarang, jika Anda ingin membulatkan kolom Price ke satu tempat desimal, berikut cara membuat kuerinya.

SELECT Round(Price, 1) 
AS Result
FROM orderDetails

Kueri ini membulatkan setiap harga di tabel ke satu tempat desimal.

Dan berikut tampilan hasilnya:

image2.jpg

ROUND pada Tanggal

Di SQL, Anda dapat membulatkan nilai tanggal ke komponen tertentu seperti tahun, bulan, jam, atau menit.

Misalkan Anda memiliki tabel bernama orders.

image5.jpg

Sekarang, jika Anda ingin membulatkan kolom order_date ke tahun terdekat, berikut cara membuat kueri:

SELECT YEAR(order_date) 
AS ROUNDED_DATE
FROM sales.orders

Kueri ini membulatkan setiap tanggal pada kolom ke tahun terdekat.

Dan berikut tampilan hasilnya:

image15.jpg

Teknik Lanjutan SQL ROUND

Di luar pembulatan dasar, fungsi SQL ROUND juga digunakan dalam skenario lanjutan, seperti:

  • SQL pembulatan ke atas
  • SQL pembulatan ke bawah
  • Pembulatan ke interval tertentu

Berikut cara kerja masing-masing:

SQL ROUND Up dan ROUND Down

Sementara fungsi ROUND membulatkan ke nilai terdekat, Anda dapat mengarahkan pembulatan secara spesifik menggunakan fungsi CEIL dan FLOOR.

Fungsi CEIL membulatkan nilai desimal ke atas ke bilangan bulat berikutnya. Misalnya, perhatikan ini:

Anda memiliki tabel bernama reviews.

image13.jpg

Berikut cara menerapkan fungsi CEIL pada kolom user_score.

Select CEIL(user_score) 
FROM reviews

Berikut hasil yang akan Anda peroleh:

image11.jpg

Berbeda dengan fungsi CEIL, FLOOR membulatkan nilai desimal ke bawah ke bilangan bulat terdekat. Misalnya, perhatikan ini.

Jika Anda menerapkan FLOOR pada tabel reviews sebelumnya, berikut cara membuat kuerinya:

Select FLOOR(user_score) 
FROM reviews

Berikut hasil yang akan Anda peroleh:

image1.jpg

Pembulatan ke Interval Tertentu

Terkadang, Anda perlu membulatkan angka ke interval tertentu seperti kelipatan 5, 10, atau 100. Untuk melakukan ini, Anda sebaiknya menggabungkan ROUND dengan pembagian dan perkalian.

Misalkan Anda perlu membulatkan sebuah angka atau kolom ke kelipatan 10 terdekat, maka Anda akan membuat kueri berikut:

SELECT Round(number / 10) * 10
FROM table_name

Teknik ini membantu mengatasi tantangan dalam manajemen inventaris atau analisis statistik, ketika data yang dikelompokkan ke interval tertentu lebih masuk akal.

Fungsi Serupa dengan SQL ROUND

Selain ROUND, ada beberapa fungsi lain di SQL untuk menangani pembulatan dan pemotongan angka.

Fungsi CEIL

Fungsi CEILING, atau CEIL, membulatkan angka ke atas ke bilangan bulat terdekat atau presisi yang ditentukan. CEILING selalu membulatkan ke atas, berbeda dengan ROUND yang membulatkan ke nilai terdekat.

Contoh: CEILING(2.3) menghasilkan 3.

Fungsi ini sangat membantu ketika Anda perlu memastikan nilai hasil pembulatan tidak lebih kecil dari angka aslinya.

Fungsi FLOOR

Fungsi FLOOR membulatkan angka ke bawah ke bilangan bulat terdekat atau presisi yang ditentukan.

Contoh: FLOOR(2.7) menghasilkan 2.

Fungsi ini memastikan bahwa angka hasil pembulatan tidak lebih besar dari aslinya.

Fungsi TRUNC

Fungsi TRUNC (truncate) menghapus bagian desimal dari suatu angka, membulatkan ke nol.

Contoh: TRUNC(2.9) akan menghasilkan 2, dan TRUNC(-2.9) akan menghasilkan -2.

TRUNC menghilangkan bagian pecahan dari suatu angka tanpa harus membulatkannya.

Singkatnya, setiap fungsi—CEILING, FLOOR, dan TRUNC—memiliki tujuan khusus dalam manipulasi data, melengkapi fungsi ROUND.

Dengan fungsi-fungsi ini, Anda dapat menangani berbagai skenario pembulatan dengan presisi lebih tinggi dan sesuai dengan konteks data. Jika Anda ingin mempelajari lebih banyak teknik SQL serupa, lihat cheat sheet dan mulailah berlatih.

Kesimpulan

Mengelola data dengan benar sangat penting, dan fungsi SQL ROUND adalah cara yang bagus untuk memastikan angka Anda mudah digunakan. Fungsi ini membantu Anda membulatkan angka ke titik desimal terdekat dan membuat data lebih mudah dipahami.

Jika Anda perlu membulatkan angka dengan cara tertentu, Anda juga memiliki fungsi lain seperti CEIL, FLOOR, dan TRUNC untuk membantu.

Baik Anda baru memulai sebagai praktisi data junior atau ingin memoles keterampilan, kursus seperti SQL Fundamentals dan Intermediate SQL akan membantu.

Sekarang saatnya mempraktikkannya. Semoga sukses!

Laiba Siddiqui

Penulis

Laiba Siddiqui

Saya seorang ahli strategi konten yang senang menyederhanakan topik kompleks. Saya telah membantu perusahaan seperti Splunk, Hackernoon, dan Tiiny Host membuat konten yang menarik dan informatif untuk audiens mereka.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai