Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kesalahan overflow aritmatika mengonversi numerik ke numerik tipe data

Dugaan saya adalah Anda mencoba memasukkan angka yang lebih besar dari 99999.99 ke dalam bidang desimal Anda. Mengubahnya menjadi (8,3) tidak akan menghasilkan apa-apa jika lebih besar dari 99999.999 - Anda perlu menambah jumlah digit sebelum desimal. Anda dapat melakukan ini dengan meningkatkan presisi (yang merupakan jumlah total digit sebelum dan sesudah desimal). Anda dapat membiarkan skala tetap sama kecuali Anda perlu mengubah berapa banyak tempat desimal untuk disimpan. Coba decimal(9,2) atau decimal(10,2) atau apa pun.

Anda dapat menguji ini dengan mengomentari insert #temp dan lihat angka apa yang diberikan pernyataan pilih kepada Anda dan lihat apakah angka tersebut lebih besar dari yang dapat ditangani kolom Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Query Profiling 101 — Ya, Itu Benar-Benar Dapat Meningkatkan Kinerja SQL Server Anda

  2. Dapatkan 1 baris teratas setiap grup

  3. Bagaimana cara membersihkan (mencegah injeksi SQL) SQL dinamis di SQL Server?

  4. Konfigurasikan Lucene.Net dengan SQL Server

  5. SQL Server 2008 - Bagaimana cara mengembalikan Jenis Tabel Buatan Pengguna dari Fungsi Bernilai Tabel?