Rumah > pangkalan data > tutorial mysql > Bagaimanakah PostgreSQL Mengendalikan Bahagian Integer, dan Bagaimana Saya Boleh Mendapatkan Keputusan Tepat?

Bagaimanakah PostgreSQL Mengendalikan Bahagian Integer, dan Bagaimana Saya Boleh Mendapatkan Keputusan Tepat?

Linda Hamilton
Lepaskan: 2024-12-26 18:40:18
asal
135 orang telah melayarinya

How Does PostgreSQL Handle Integer Division, and How Can I Get Accurate Results?

Operator Bahagian dalam PostgreSQL: Memahami Pemangkasan Integer dan Pengiraan Titik Terapung

Dalam PostgreSQL, operasi pembahagian (/) boleh membawa kepada hasil yang tidak dijangka apabila bekerja dengan nilai integer. Memahami kelakuan asas pembahagian integer adalah penting untuk mengelakkan pengiraan yang salah.

Pertimbangkan pertanyaan berikut:

SELECT dev_cost / sell_cost FROM software
Salin selepas log masuk

Di mana dev_cost ialah 16000 dan sell_cost ialah 7500. Anda mungkin menjangkakan hasilnya akan menjadi 3, tetapi ia mengembalikan 2. Ini kerana pembahagian integer memotong sebarang pecahan sebahagian daripada hasil.

Untuk mendapatkan nilai yang diingini, anda perlu menghantar sekurang-kurangnya satu daripada nilai kepada jenis titik terapung (cth., perpuluhan) atau gunakan operator :: untuk menukarnya dengan cepat :

SELECT CAST(dev_cost AS DECIMAL) / sell_cost FROM software
Salin selepas log masuk
SELECT dev_cost::DECIMAL / sell_cost FROM software
Salin selepas log masuk

Pertanyaan ini akan mengembalikan 2.133, iaitu pembahagian sebenar hasil.

Selain itu, anda boleh menggunakan fungsi ceil() untuk membundarkan hasilnya kepada integer terdekat:

SELECT CEIL(dev_cost::DECIMAL / sell_cost) FROM software
Salin selepas log masuk

Pertanyaan ini akan mengembalikan 3, iaitu kuantiti perisian yang dikehendaki untuk memulihkan kos pembangunan.

Adalah penting untuk mengetahui tingkah laku ini semasa menjalankan operasi pembahagian dan menggunakan jenis data dan penghantaran yang sesuai untuk memastikan ketepatan pengiraan.

Atas ialah kandungan terperinci Bagaimanakah PostgreSQL Mengendalikan Bahagian Integer, dan Bagaimana Saya Boleh Mendapatkan Keputusan Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan