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.

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.

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.

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.

Implementasi di PostgreSQL
PostgreSQL juga mengimplementasikan ROUND dengan cara serupa. Berikut contoh cara Anda mengimplementasikannya:
Misalkan Anda memiliki tabel reviews berikut.

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.

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.

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.

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.

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:

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.

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:

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.

Berikut cara menerapkan fungsi CEIL pada kolom user_score.
Select CEIL(user_score)
FROM reviews
Berikut hasil yang akan Anda peroleh:

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:

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!
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.


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.