Rumah pangkalan data tutorial mysql mysql decimal_MySQL

mysql decimal_MySQL

Jun 01, 2016 pm 01:29 PM
double Money

bitsCN.com

mysql decimal

 

首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,

 

DECIMAL列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下: 

 

·         M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254)。 

 

·         D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。 

 

说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。 

 

如DECIMAL(5, 2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。 

 

译者注: 

 

M 与D 对DECIMAL(M, D) 取值范围的影响 

 

类型说明 取值范围(MySQL = 3.23) 

 

 

代码如下  

 

1

DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9    DECIMAL(5, 1) -99.9 到 999.9 -9999.9 到 99999.9    DECIMAL(6, 1) -999.9 到 9999.9 -99999.9 到 999999.9    DECIMAL(6, 2) -99.99 到 999.99 -9999.99 到 99999.99    DECIMAL(6, 3) -9.999 到 99.999 -999.999 到 9999.999

Salin selepas log masuk

# 在MySQL 3.23 及以后的版本中,DECIMAL(M, D) 的取值范围等于早期版本中的DECIMAL(M + 2, D) 的取值范围。

还有一种数据类型也是比较棒的: 那就是LongBlob,这种数据类型可以直接把图像文件存到数据库中!

笔者,最近在研究mysql的decimal数据类型,现把数据实验结果公布如下

数据库版本:Server version: 5.0.45 Source distribution

1、创建表结构

代码如下

1

create table ta (a float,b decimal(10,5));

Salin selepas log masuk

2、插入数据

代码如下

1

insert into ta (a,b) values(1,12345.123423);

Salin selepas log masuk

实际插入的b列数据为:12345.12342

代码如下

1

insert into ta (a,b) values(1,123456.1234);

Salin selepas log masuk

 

 

 

实际插入的b列数据为:99999.99999 

 

结论:decimal数据类型, 

 

1、当插入的整数部分的值超过了其表示范围后就直接忽略了小数部分的值,并以最大值填充。 

 

2、当整数部分合法,小数部分多余的位数,直接截断。

bitsCN.com
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int Aug 25, 2023 pm 08:25 PM

Dalam C++, pembolehubah jenis int hanya boleh menyimpan nilai integer positif atau negatif; Terdapat nilai terapung dan berganda tersedia untuk tujuan ini. Jenis data berganda dicipta untuk menyimpan perpuluhan sehingga tujuh digit selepas titik perpuluhan. Penukaran integer kepada jenis data berganda boleh dilakukan secara automatik oleh pengkompil (dipanggil penukaran "tersirat"), atau ia boleh diminta secara eksplisit oleh pengaturcara daripada pengkompil (dipanggil penukaran "eksplisit"). Dalam bahagian berikut, kami akan merangkumi pelbagai kaedah penukaran. Penukaran tersirat Pengkompil melakukan penukaran jenis tersirat secara automatik. Untuk mencapai matlamat ini, dua pembolehubah diperlukan - satu jenis titik terapung dan satu lagi jenis integer. Apabila kita hanya menetapkan nilai titik terapung atau pembolehubah kepada pembolehubah integer, pengkompil menjaga semua perkara lain

double占几个字节 double占几个字节 Dec 25, 2020 am 10:36 AM

double占的字节:1、16位编译器下,double占8个字节;2、32位编译器下,double占8个字节;3、64位编译器下,double占8个字节。

Apakah perbezaan antara float dan double Apakah perbezaan antara float dan double Oct 11, 2023 pm 05:38 PM

Perbezaan utama antara apungan dan berganda terletak pada ketepatan, penyimpanan dan kelajuan pengiraan, julat dan penggunaan dalam bahasa pengaturcaraan. Pengenalan terperinci: 1. Kepersisan adalah berbeza Float ialah nombor titik terapung ketepatan tunggal, menduduki 4 bait (32 bit), manakala double ialah nombor titik terapung berketepatan dua, menduduki 8 bait (64 bit); storan dan kelajuan pengiraan adalah berbeza , dua kali ganda mengambil lebih banyak ruang dan memerlukan lebih banyak ruang storan untuk menyimpan nilai Dalam aplikasi yang memerlukan prestasi dan kelajuan tinggi, ia mungkin lebih cekap untuk menggunakan jenis apungan.

Cara menggunakan kaedah isInfinite() kelas Double untuk menentukan sama ada nombor adalah sangat kecil Cara menggunakan kaedah isInfinite() kelas Double untuk menentukan sama ada nombor adalah sangat kecil Jul 26, 2023 am 11:04 AM

Cara menggunakan kaedah isInfinite() kelas Double untuk menentukan sama ada nombor adalah kecil tak terhingga ialah konsep dalam matematik yang digunakan untuk menunjukkan bahawa nombor hampir dengan sifar tetapi tidak sama dengan sifar. Dalam pengaturcaraan komputer, kita selalunya perlu menentukan sama ada nombor adalah sangat kecil. Kelas Double Java menyediakan kaedah isInfinite() untuk menentukan sama ada nombor adalah sangat kecil. Artikel ini akan memperkenalkan cara menggunakan kaedah isInfinite() kelas Double untuk menentukan sama ada sesuatu nombor adalah sangat kecil dan memberikan

Tafsiran dokumentasi Java: Analisis fungsi kaedah valueOf() kelas Double Tafsiran dokumentasi Java: Analisis fungsi kaedah valueOf() kelas Double Nov 04, 2023 am 10:55 AM

Tafsiran dokumentasi Java: Analisis fungsi kaedah valueOf() kelas Double, yang memerlukan contoh kod khusus Pengenalan: Dalam pembangunan Java, penukaran dan operasi jenis digital sering terlibat. Kelas Double ialah kelas pembalut di Java yang menyediakan beberapa kaedah praktikal untuk mengendalikan operasi titik terapung berketepatan dua kali. Antaranya, kaedah valueOf() merupakan kaedah penting dalam kelas Double Artikel ini akan menganalisis fungsi kaedah ini dan memberikan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. satu,

Cara menggunakan kaedah isPositiveInfinity() kelas Double untuk menentukan sama ada nombor adalah infiniti positif Cara menggunakan kaedah isPositiveInfinity() kelas Double untuk menentukan sama ada nombor adalah infiniti positif Jul 24, 2023 pm 07:57 PM

Cara menggunakan kaedah isPositiveInfinity() kelas Double untuk menentukan sama ada sesuatu nombor adalah infiniti positif Pengenalan Dalam pengaturcaraan Java, kita selalunya perlu membuat beberapa pertimbangan dan proses pada nilai berangka. Kadangkala kita perlu menentukan sama ada sesuatu nombor adalah infiniti positif. Kelas Double Java menyediakan kaedah isPositiveInfinity(), yang boleh digunakan untuk menentukan sama ada nombor adalah infiniti positif. Artikel ini akan memperkenalkan cara menggunakan kaedah ini dan beberapa pertimbangan yang berkaitan. buat

Java Iterator lwn. Iterable: Tingkatkan pemahaman anda tentang koleksi Java Java Iterator lwn. Iterable: Tingkatkan pemahaman anda tentang koleksi Java Feb 19, 2024 pm 06:20 PM

Set boleh dibahagikan kepada dua kategori: set tertib dan set tidak tersusun. Item data dalam set tertib disusun dalam susunan tertentu, manakala item data dalam set tidak tertib tidak mempunyai susunan tetap. Rangka kerja pengumpulan Java menyediakan set kelas koleksi yang kaya yang boleh menyimpan dan mengurus data dengan mudah. Kelas koleksi yang biasa digunakan dalam rangka kerja koleksi Java termasuk: Senarai: koleksi senarai, koleksi tersusun, menyokong elemen berulang. Set: Set, koleksi tidak tersusun, tidak menyokong elemen berulang. Peta: koleksi kamus, koleksi tidak tertib, storan pasangan nilai kunci. Fahami konsep dan jenis koleksi. Kuasai penggunaan kelas koleksi. Keupayaan untuk menggunakan kelas pengumpulan untuk menyimpan dan mengurus data. Fahami konsep dan jenis koleksi. Kuasai penggunaan kelas koleksi. Keupayaan untuk menggunakan kelas pengumpulan untuk menyimpan dan mengurus data. Memahami konsep set

Tafsiran dokumentasi Java: Analisis fungsional kaedah compare() kelas Double Tafsiran dokumentasi Java: Analisis fungsional kaedah compare() kelas Double Nov 04, 2023 pm 12:25 PM

Tafsiran dokumentasi Java: Analisis fungsi kaedah compare() kelas Double Kelas Double ialah kelas pembalut yang digunakan untuk mewakili nombor titik terapung berketepatan dua (64 bit) dalam Java. Ia menyediakan pelbagai kaedah untuk memanipulasi dan membandingkan nombor. Salah satu kaedah yang biasa digunakan ialah compare(), yang digunakan untuk membandingkan nilai dua objek Double. Artikel ini akan menyediakan analisis terperinci tentang kaedah compare() kelas Double dan menyediakan contoh kod yang sepadan untuk membantu pembaca memahami fungsi dan penggunaannya dengan lebih baik.

See all articles