Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membundarkan Nombor dengan Tepat kepada Dua Tempat Perpuluhan dalam SQL?

Bagaimana untuk Membundarkan Nombor dengan Tepat kepada Dua Tempat Perpuluhan dalam SQL?

Susan Sarandon
Susan Sarandonasal
2025-01-07 13:27:41885semak imbas

How to Precisely Round Numbers to Two Decimal Places in SQL?

Cara Membundarkan Nilai kepada Dua Tempat Perpuluhan dengan Ketepatan dalam SQL

Apabila berurusan dengan pengiraan berangka dalam SQL, ketepatan selalunya penting. Membundarkan nilai kepada bilangan tempat perpuluhan tertentu memastikan ketepatan dan kebolehbacaan data.

Masalah:

Anda perlu menukar minit kepada jam, dibundarkan kepada dua tempat perpuluhan . Walau bagaimanapun, menggunakan fungsi round() sahaja boleh menghasilkan tempat perpuluhan tambahan, seperti 10.5000000 dan bukannya 10.50 yang dikehendaki.

Penyelesaian:

Untuk mencapai ketepatan yang diingini , gunakan cast() fungsi:

select
    round(minutes/60.0,2),
    cast(round(minutes/60.0,2) as numeric(36,2))

Penjelasan:

  • Fungsi pusingan() membundarkan keputusan minit/60.0 kepada dua tempat perpuluhan.
  • Fungsi cast() kemudian menukar nilai bulat kepada jenis data berangka dengan ketepatan 36 (untuk mengendalikan kemungkinan ralat pembundaran) dan skala 2 (untuk dua tempat perpuluhan).
  • Ini memastikan bahawa output dibundarkan kepada dua tempat perpuluhan tanpa perpuluhan tambahan dipaparkan.

Contoh:

Jika pembolehubah minit mengandungi nilai 630:

select
    round(630/60.0,2),
    cast(round(630/60.0,2) as numeric(36,2))

Pemulangan:

10.500000    10.50

Atas ialah kandungan terperinci Bagaimana untuk Membundarkan Nombor dengan Tepat kepada Dua Tempat Perpuluhan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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