Masalah:
Anda ingin mengonversi nilai integer ke tipe data DECIMAL di SQL Server.
Mari kita ubah bilangan bulat menjadi tipe data DECIMAL.
Solusi 1:
Kami akan menggunakan CAST()
fungsi. Inilah kueri yang akan Anda tulis:
SELECT CAST(12 AS DECIMAL(7,2) ) AS decimal_value ;
Ini hasilnya:
nilai_desimal |
---|
12.00 |
Diskusi:
Gunakan CAST()
berfungsi untuk mengubah bilangan bulat menjadi tipe data DECIMAL. Fungsi ini mengambil ekspresi atau nama kolom sebagai argumen, diikuti dengan kata kunci AS dan tipe data baru. Dalam contoh kami, kami mengonversi bilangan bulat (12) menjadi nilai desimal (12,00). Nilai yang ditampilkan memiliki dua titik desimal karena DECIMAL dalam CAST()
memiliki dua titik desimal.
SQL Server menyediakan opsi lain:CONVERT()
. Ini bukan fungsi Standar SQL seperti CAST()
. Kueri di bawah ini menunjukkan penggunaannya.
Solusi 2:
Berikut cara lain untuk mengonversi bilangan bulat ke tipe DECIMAL:
SELECT CONVERT(DECIMAL(7,2),12 ) AS decimal_value ;
Kueri ini menghasilkan hasil yang sama dengan CAST()
, tetapi membutuhkan dua argumen wajib:tipe data dan ekspresi, nilai, atau nama kolom untuk dikonversi. Parameter ketiga opsional menentukan bagaimana nilai harus diformat dalam tipe barunya. Baca selengkapnya tentang pemformatan nilai dalam dokumentasi resmi SQL Server.
Jika Anda tidak perlu mengembalikan nilai dalam format tertentu, gunakan CAST()
.