Cara Memotong Tempat Desimal di SQL Server Tanpa Pembulatan

Saat bekerja dengan nilai desimal di SQL Server, Anda kadang-kadang mungkin menemukan kebutuhan untuk mengelola jumlah tempat desimal dalam data Anda. Fungsi ROUND yang umum digunakan membulatkan angka, yang mungkin tidak sesuai untuk semua skenario. Dalam posting blog ini, kita akan mengeksplorasi cara untuk memotong tempat desimal di SQL Server tanpa membulatkannya.

Masalah: Pembulatan vs. Pemotongan

Bayangkan Anda memiliki nilai desimal seperti 123.456, dan Anda ingin menyimpannya hingga dua tempat desimal. Menggunakan metode pembulatan standar di SQL Server akan secara otomatis menyesuaikan nilai menjadi 123.46. Namun, ada situasi di mana Anda hanya ingin menghilangkan desimal tambahan, sehingga hasilnya menjadi 123.45. Di sinilah pemotongan menjadi penting.

Mari kita lihat sekilas pada contoh nilai:

DECLARE @value DECIMAL(18,2);
SET @value = 123.456;

Setelah mengeksekusi kode ini dengan pembulatan standar, @value akan menjadi 123.46. Tetapi bagaimana jika Anda ingin menyimpannya sebagai 123.45?

Solusi: Menggunakan Fungsi ROUND

SQL Server menyediakan fungsi ROUND yang kuat yang dapat membantu Anda memotong tempat desimal. Fungsi ini membutuhkan tiga parameter:

  1. number: Ini adalah nilai desimal yang ingin Anda potong.
  2. decimals: Tentukan berapa banyak tempat desimal yang ingin Anda pertahankan.
  3. operation: Ini bersifat opsional. Atur parameter ini ke 0 untuk membulatkan hasil atau ke nilai lain (misalnya, 1) untuk memotongnya.

Contoh Penggunaan

Berikut adalah cara Anda dapat menggunakan fungsi ROUND secara efektif:

SELECT ROUND(123.456, 2, 1);

Dalam hal ini, menggunakan 1 sebagai parameter ketiga akan memotong nilai menjadi 123.45, alih-alih membulatkannya.

Kompatibilitas

Fungsi ROUND dengan kemampuan pemotongan bekerja di lingkungan berikut:

  • SQL Server (dimulai dengan versi 2008)
  • Azure SQL Database
  • Azure SQL Data Warehouse
  • Parallel Data Warehouse

Untuk informasi lebih lanjut, Anda dapat merujuk ke dokumen ROUND SQL Server di W3Schools.

Kesimpulan

Dengan menggunakan fungsi ROUND dengan parameter yang sesuai, Anda dapat dengan mudah memotong tempat desimal di SQL Server tanpa membulatkan nilai Anda. Metode ini memastikan Anda memiliki kontrol yang tepat atas presentasi data Anda, mempertahankan integritas dan akurasi yang diperlukan untuk kebutuhan proyek spesifik Anda.

Silakan coba teknik ini di lingkungan SQL Server Anda sendiri dan pastikan data Anda diformat persis seperti yang Anda butuhkan!