T-SQL: Menghapus Titik Desimal dari Tipe Data Uang
Ketika bekerja dengan data keuangan di SQL Server, terutama menggunakan bahasa T-SQL, Anda mungkin perlu memanipulasi angka dengan cara yang menghapus titik desimalnya. Bagi mereka yang menggunakan tipe data Uang di SQL Server 2005, Anda mungkin bertanya-tanya apakah ada pendekatan yang lebih baik daripada mengubah angka menjadi string dan kemudian menghapus titik desimal melalui manipulasi string. Mari kita eksplorasi metode efisien untuk mencapai ini.
Pendekatan Umum
Banyak pengembang SQL menangani penghapusan titik desimal dari tipe Uang dengan mengubah angka ke varchar terlebih dahulu dan menggunakan fungsi REPLACE
. Misalnya:
SELECT REPLACE(1.23, '.', ''), REPLACE(19.99, '.', '')
Kodenya menggantikan titik desimal, menghasilkan bilangan bulat yang diinginkan 123 dan 1999. Namun, metode ini bisa terasa canggung dan tidak ideal dalam hal performa atau keterbacaan.
Solusi yang Lebih Efisien
Solusi yang lebih elegan memungkinkan Anda mencapai hasil yang sama tanpa konversi yang tidak perlu. Alih-alih mengubah menjadi string, Anda dapat mengalikan nilai Uang dengan 100 dan kemudian mengubahnya menjadi INT. Metode ini sederhana dan memanfaatkan fitur T-SQL dengan efektif. Berikut adalah cara melakukannya:
Implementasi Langkah-demi-Langkah
- Kalikan Nilai Uang dengan 100: Ini menggeser titik desimal dua posisi ke kanan. Misalnya,
1.23
menjadi123
dan19.99
menjadi1999
. - Ubah Menjadi INT: Konversi ke INT membuang titik desimal, meninggalkan Anda dengan angka bulat yang bersih.
Contoh Implementasi
Berikut adalah contoh praktis untuk mengilustrasikan solusi ini dalam aksi:
SELECT CAST(1.23 * 100 AS INT) AS Amount1,
CAST(19.99 * 100 AS INT) AS Amount2
Kode ini akan mengembalikan:
Amount1
: 123Amount2
: 1999
Mengapa Metode Ini Lebih Diutamakan
- Kinerja: Mengalikan dan casting umumnya lebih cepat daripada manipulasi string, terutama dengan dataset yang lebih besar.
- Simplicity: Kodenya lebih mudah dibaca dan dipelihara, menjadikannya sederhana bagi siapa saja yang meninjau atau menggunakan skrip SQL.
- Integritas Data: Dengan tetap berada dalam tipe angka dan menghindari konversi ke string, Anda meminimalkan risiko memperkenalkan kesalahan atau perilaku yang tidak terduga akibat pemformatan yang salah.
Kesimpulan
Menggunakan T-SQL di SQL Server 2005, menghapus titik desimal dari tipe data Uang dapat dilakukan secara efisien dengan mengalikan nilai dengan 100 dan mengubahnya menjadi bilangan bulat. Pendekatan ini lebih sederhana, lebih cepat, dan memastikan integritas data. Lain kali Anda perlu memanipulasi nilai Uang dalam kueri Anda, pertimbangkan metode ini untuk solusi yang lebih bersih dan efektif.