MySQL数据类型中十进制的详细用法及作用

下文主要给大家带来MySQL数据类型中十进制的详细用法及作用,希望这些文字能够带给大家实际用处,这也是我编辑MySQL数据类型中十进制的详细用法及作用这篇文章的主要目的。好了,废话不多说,大家直接看下文吧又是;,,,,,,,,,,,,,,,,,,,,,

一般赋予浮点列的值被四舍五入到这个列所指定的十进制数。如果在一个浮动(8、1)的列中存储1。2 3 4 5 6,则结果为1。2 .如果将相同的值存入浮(8,4)的列中,则结果为1。2 3 4 6 .

这表示应该定义具有足够位数的浮点列以便得到尽可能精确的值。如果想精确到千分之一,那就不要定义使该类型仅有两位小数。

浮点值的这种处理在MySQL3.23中有例外,浮子(4)和浮子(8)的性能有所变化。这两种类型现在为单精度(4字节)和双精度(8字节)的类型,在其值按给出的形式存放(只受硬件的限制)这一点上说,这两种类型是真浮点类型。

十进制类型不同于浮动和小数,其中十进制实际是以串存放的.DECIMAL可能的最大取值范围与双一样,但是其有效的取值范围由M和D的值决定。如果改变M而固定D,则其取值范围将随M的变大而变大,表2 - 7的前三行说明了这一点。如果固定米而改变,则其取值范围将随D的变大而变小(但精度增加)。表2 - 7的后三行说明了这一点。

 MySQL数据类型中十进制的详细用法及作用“> </p> <p>给定的十进制类型的取值范围取决于MySQL数据类型的版本。对于MySQL3.23以前的版本,小数(M, D)列的每个值占用M字节,而符号(如果需要)和小数点包括在米字节中,因此,类型为十进制(5,2)的列,其取值范围为-9.99到9 9。9 9,因为它们覆盖了所有可能的5个字符的值。</p> <p>正如MySQL3.23一样,十进制值是根据ANSI规范进行处理的,ANSI规范规定小数(M, D)必须能够表示M位数字及D位小数的任何值。</p> <p>例如,小数(5,2)必须能够表示从-999.99到999.99的所有值,而且必须存储符号和小数点,因此自MySQL3.23以来十进制值占M + 2个字节。对于小数(5,2),“最长”的值(- 9 9 9。9 9)需要7个字节。</p> <p>在正取值范围的一端,不需要正号,因此MySQL数据类型利用它扩充了取值范围,使其超过了ANSI所规范所要求的取值范围。如十进制(5,2)的最大值为9 9 9 9。9 9,因为有7个字节可用。</p> <p>简而言之,在MySQL3.23及以后的版本中,小数(M, D)的取值范围等于更早版本中的小数(M + 2 D)的取值范围。在MySQL数据类型的所有版本中,如果某个十进制列的D为0,则不存储小数点。这样做的结果是扩充了列的取值范围,因为过去用来存储小数点的字节现在可用来存放其他数字了。</p> <p>对于以上关于MySQL数据类型中十进制的详细用法及作用,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。</p> <p> </p><h2 class=MySQL数据类型中十进制的详细用法及作用