Saya mencoba mencari tahu tipe data desimal dari kolom di SQL Server. Saya harus bisa menyimpan nilai seperti 15.5, 26.9, 24.7, 9.8, dll
Saya ditugaskan decimal(18, 0)
ke tipe data kolom tetapi ini tidak memungkinkan saya untuk menyimpan nilai-nilai ini.
Apa cara yang tepat untuk melakukan ini?
sql
sql-server
types
decimal
Alex
sumber
sumber
decimal(4,2)
memungkinkan 2 digit sebelum dan 2 digit setelah titik desimal. "4,5" dapat disimpan tanpa masalah - dan secara numerik, "4,5" dan "4,50" identikvarchar
untuk menyimpan nilai desimal !!Yang harus Anda gunakan adalah sebagai berikut:
m
adalah jumlah digit total desimal Anda.a
adalah jumlah maksimal digit yang dapat Anda miliki setelah titik desimal.http://www.tsqltutorials.com/datatypes.php memiliki deskripsi untuk semua tipe data.
sumber
Pengaturan untuk
Decimal
ketepatan dan skala atau dalam bahasa normal, berapa banyak angka yang dapat dimiliki suatu angka dan berapa banyak angka yang Anda ingin miliki di sebelah kanan titik desimal.Jadi jika Anda memasukkannya
PI
keDecimal(18,0)
dalamnya akan dicatat sebagai3
?Jika Anda memasukkannya
PI
ke dalam,Decimal(18,2)
itu akan dicatat sebagai3.14
?Jika Anda menempatkan
PI
ke dalamDecimal(18,10)
disimpan sebagai3.1415926535
.sumber
Untuk sebagian besar waktu, saya menggunakan desimal (9,2) yang mengambil penyimpanan paling sedikit (5 byte) dalam tipe desimal sql.
Presisi => Penyimpanan byte
Ia dapat menyimpan dari 0 hingga 9 999 999,99 (7 digit di depan + 2 digit di belakang titik desimal = total 9 digit), yang cukup besar untuk sebagian besar nilai.
sumber
Anda bisa mencoba ini
Panjang angka harus total 18. Panjang angka setelah titik desimal harus hanya 1 dan tidak lebih dari itu.
sumber
Dalam MySQL DB
decimal(4,2)
memungkinkan hanya memasukkan total 4 digit. Seperti yang Anda lihatdecimal(4,2)
, itu berarti Anda dapat memasukkan total 4 digit dari mana dua digit dimaksudkan untuk menjaga setelah titik desimal.Jadi, jika Anda memasukkan 100.0 dalam database MySQL, itu akan menampilkan kesalahan seperti "Nilai Out of Range untuk kolom".
Jadi, Anda dapat memasukkan dalam kisaran ini saja: dari 00.00 hingga 99.99.
sumber
Jawaban lainnya benar. Dengan asumsi contoh Anda mencerminkan berbagai kemungkinan apa yang Anda inginkan
DECIMAL(3, 1)
. Atau,DECIMAL(14, 1)
akan memungkinkan total 14 digit. Adalah tugas Anda untuk memikirkan apa yang cukup.sumber
sumber