Rumah  >  Artikel  >  pangkalan data  >  Apakah jenis yang digunakan untuk jumlah dalam mysql?

Apakah jenis yang digunakan untuk jumlah dalam mysql?

青灯夜游
青灯夜游asal
2022-06-14 15:20:5716080semak imbas

Dalam mysql, amaun menggunakan jenis "DECIMAL". Jenis DECIMAL ialah jenis data yang direka khas untuk masalah berkaitan kewangan Ia boleh menyelesaikan masalah julat dan ketepatan data Ia sering digunakan untuk data kewangan, seperti harga, gaji, baki akaun, dll.; dalam bentuk rentetan Bilangan digit dalam bahagian integer dan bahagian perpuluhan boleh ditandakan apabila menentukan Sintaksnya ialah "PERPULUHAN(M,D)". dan parameter D ialah bilangan digit di sebelah kanan titik perpuluhan (skala).

Apakah jenis yang digunakan untuk jumlah dalam mysql?

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

Dalam mysql, amaun menggunakan jenis "DECIMAL".

Perpuluhan (nombor titik tetap) ialah jenis data yang direka khas untuk masalah berkaitan kewangan, yang boleh menyelesaikan masalah julat dan ketepatan data.

PERPULUHAN telah diperkenalkan daripada MySQL 5.1, dan sintaks pengisytiharan lajur ialah DECIMAL(M,D). Dalam MySQL 5.1, julat nilai parameter adalah seperti berikut:

  • M ialah bilangan maksimum nombor (ketepatan). Julatnya ialah 1 hingga 65 (dalam versi MySQL yang lebih lama, julat yang dibenarkan ialah 1 hingga 254), dan nilai lalai M ialah 10.

  • D ialah bilangan digit di sebelah kanan titik perpuluhan (skala). Julatnya ialah 0~30, tetapi ia tidak boleh melebihi M.

Penjelasan: apungan menduduki 4 bait, dua kali ganda menduduki 8 bait dan desimel(M,D) menduduki M 2 bait.

Sebagai contoh, nilai maksimum DECIMAL(5,2) ialah 9 9 9 9 9 9 kerana terdapat 7 bait.

Jenis PERPULUHAN berbeza dengan FLOAT dan DOUBLE. DOUBLE sebenarnya disimpan dalam bentuk rentetan Julat nilai maksimum yang mungkin bagi DECIMAL adalah sama dengan DOUBLE, tetapi julat nilai berkesan ditentukan oleh M dan D. Jika M diubah dan D ditetapkan, julat nilai akan menjadi lebih besar apabila M menjadi lebih besar.

Saya ingin menekankan: Dalam MySQL, nombor titik tetap disimpan dalam bentuk rentetan apabila keperluan ketepatan agak tinggi (seperti mata wang,. data saintifik), gunakan Jenis PERPULUHAN adalah lebih baik untuk menimbulkan masalah apabila menolak dan membandingkan dua nombor titik terapung yang lain Oleh itu, anda perlu memberi perhatian apabila menggunakan nombor titik terapung dan cuba mengelakkan titik terapung perbandingan.

Jenis data PERPULUHAN MySQL dan data kewangan

Kami sering menggunakan jenis data PERPULUHAN untuk data kewangan, seperti harga, gaji, baki akaun, dsb. Jika anda mereka bentuk pangkalan data yang mengendalikan data kewangan, sintaks berikut sepatutnya baik.

amount DECIMAL(19,2);

Walau bagaimanapun, jika anda ingin mematuhi peraturan Prinsip Perakaunan yang Diterima Umum (GAAP), lajur mata wang mesti mengandungi sekurang-kurangnya 4 tempat perpuluhan untuk memastikan nilai bulat tidak melebihi $0.01 USD. Dalam kes ini, anda harus mentakrifkan lajur dengan 4 tempat perpuluhan seperti ini:

amount DECIMAL(19,4);

Contoh jenis data PERPULUHAN MySQL

Pertama, cipta jadual baharu bernama bahan mempunyai tiga medan: id, perihalan dan kos.

CREATE TABLE materials (
    id INT AUTO_INCREMENT PRIMARY KEY,
    description VARCHAR(255),
    cost DECIMAL(19 , 4 ) NOT NULL
);

Kedua, masukkan data ke dalam jadual bahan.

INSERT INTO materials(description,cost)
VALUES('Bicycle', 500.34),('Seat',10.23),('Break',5.21);

Ketiga, tanya bahan data daripada jadual.

SELECT 
    *
FROM
    materials;

Apakah jenis yang digunakan untuk jumlah dalam mysql?

Keempat, ubah suai lajur kos untuk memasukkan atribut ZEROFILL.

ALTER TABLE materials
MODIFY cost DECIMAL(19,4) zerofill;

Lima, semak senarai bahan sekali lagi.

SELECT 
    *
FROM
    materials;

Apakah jenis yang digunakan untuk jumlah dalam mysql?

Seperti yang anda lihat, kami telah menambah banyak sifar dalam nilai output.

[Cadangan berkaitan: tutorial video mysql]

Atas ialah kandungan terperinci Apakah jenis yang digunakan untuk jumlah dalam mysql?. 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