Masalah Penggenapan dalam Digit Desimal dalam SQL

Pengarang: John Pratt
Tarikh Penciptaan: 12 Januari 2021
Tarikh Kemas Kini: 14 November 2024
Anonim
Masalah Penggenapan dalam Digit Desimal dalam SQL - Artikel
Masalah Penggenapan dalam Digit Desimal dalam SQL - Artikel

Kandungan

Bahasa SQL secara automatik membuat pusingan nombor jika lajur jadual di mana anda akan menyimpan hanya membenarkan ketepatan tempat perpuluhan tertentu. Anda boleh bekerja dengan masalah ketepatan menggunakan fungsi "bulat" SQL. Fungsi ini membolehkan anda mengawal bagaimana SQL menyimpan nilai angka dalam jadual pangkalan data.


Ketahui cara memutar nombor dalam SQL (Hemera Technologies / AbleStock.com / Getty Images)

Masalah

Anda akan melihat masalah pembulatan SQL apabila melihat data dalam jadual. Nilai angka yang dipaparkan tidak sama dengan yang anda simpan menerusi perintah "sisipan". Jenis data lajur SQL membolehkan anda menetapkan ketepatan titik perpuluhan. Jika anda ingin mempunyai hanya dua tempat perpuluhan dan cuba simpan nombor dengan tiga, SQL akan memutar nilai.

Struktur jadual

Anda boleh mengubah jenis data sesuatu lajur dengan menggunakan editor meja SQL. Anda boleh mengedit jadual anda dalam Microsoft SQL Server Management Studio, yang disertakan dengan SQL Server. Klik kanan pada jadual dan pilih "Ubah suai". Pilih ketepatan dalam senarai jenis data lajur untuk meningkatkan bilangan tempat perpuluhan dan betulkan masalah pembulatan.


Fungsi Pusingan

Jika anda tidak mahu mengubah jenis data jadual, gunakan fungsi pembulatan untuk menukar tingkah laku penyimpanan angka. Bulatkan, turun atau biarkan fungsi melaksanakan pembulatan nilai perpuluhan standard. Sebagai contoh, kod berikut dibundarkan:

bulat (lajur, 2, -1)

Fungsi ini berputar di dua tempat perpuluhan, sentiasa ke atas. Mengeluarkan parameter "-1" menyebabkan SQL melaksanakan pembundaran standard, iaitu jika nilai lebih besar daripada atau sama dengan "5" dan ke bawah jika nilai lebih rendah.

Pertimbangan

Apabila anda mengubah tingkah laku pembulatan dalam SQL, anda juga mesti memeriksa mana-mana lajur yang mempunyai jumlah nombor bulat. Lajur ini akan mempunyai nilai yang salah, jadi anda perlu mengira semula jumlah untuk membetulkan sebarang ralat.