国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL數據類型中DECIMAL的用法實例詳解

2024-07-24 13:14:51
字體:
來源:轉載
供稿:網友

MySQL數據類型中DECIMAL的用法實例詳解

在MySQL數據類型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它們都有各自的作用,下面我們就主要來介紹一下MySQL數據類型中的DECIMAL類型的作用和用法。

一般賦予浮點列的值被四舍五入到這個列所指定的十進制數。如果在一個FLOAT(8, 1)的列中存儲1. 2 3 4 5 6,則結果為1. 2。如果將相同的值存入FLOAT(8, 4) 的列中,則結果為1. 2 3 4 6。

這表示應該定義具有足夠位數的浮點列以便得到盡可能精確的值。如果想精確到千分之一,那就不要定義使該類型僅有兩位小數。

浮點值的這種處理在MySQL3.23 中有例外,FLOAT(4) 和FLOAT(8) 的性能有所變化。這兩種類型現在為單精度( 4 字節)和雙精度( 8 字節)的類型,在其值按給出的形式存放(只受硬件的限制)這一點上說,這兩種類型是真浮點類型。

DECIMAL 類型不同于FLOAT和DECIMAL,其中DECIMAL 實際是以串存放的。DECIMAL 可能的最大取值范圍與DOUBLE 一樣,但是其有效的取值范圍由M 和D 的值決定。如果改變M 而固定D,則其取值范圍將隨M 的變大而變大。表2 - 7的前三行說明了這一點。如果固定M 而改變D,則其取值范圍將隨D 的變大而變小(但精度增加)。表2 - 7的后三行說明了這一點。

MySQL,數據類型,DECIMAL,用法

給定的DECIMAL 類型的取值范圍取決于MySQL數據類型的版本。對于MySQL3.23 以前的版本,DECIMAL(M, D) 列的每個值占用M 字節,而符號(如果需要)和小數點包括在M 字節中。因此,類型為DECIMAL(5, 2) 的列,其取值范圍為-9.99 到9 9 . 9 9,因為它們覆蓋了所有可能的5 個字符的值。

正如MySQL3.23 一樣,DECIMAL 值是根據ANSI 規范進行處理的, ANSI 規范規定DECIMAL(M, D) 必須能夠表示M 位數字及D 位小數的任何值。

例如, DECIMAL(5, 2) 必須能夠表示從-999.99 到999.99 的所有值。而且必須存儲符號和小數點,因此自MySQL3.23以來DECIMAL 值占M + 2 個字節。對于DECIMAL(5, 2),“最長”的值(- 9 9 9 . 9 9)需要7個字節。

在正取值范圍的一端,不需要正號,因此MySQL數據類型利用它擴充了取值范圍,使其超過了ANSI 所規范所要求的取值范圍。如DECIMAL(5, 2) 的最大值為9 9 9 9 . 9 9,因為有7 個字節可用。

簡而言之,在MySQL3.23 及以后的版本中,DECIMAL(M, D) 的取值范圍等于更早版本中的DECIMAL(M + 2, D) 的取值范圍。在MySQL數據類型的所有版本中,如果某個DECIMAL 列的D 為0,則不存儲小數點。這樣做的結果是擴充了列的取值范圍,因為過去用來存儲小數點的字節現在可用來存放其他數字了。

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潢川县| 富源县| 财经| 南投市| 彭泽县| 确山县| 个旧市| 衡东县| 天长市| 青河县| 肇东市| 阿合奇县| 郓城县| 双桥区| 宁陕县| 中西区| 富蕴县| 方城县| 德化县| 中阳县| 洛扎县| 松潘县| 庄河市| 基隆市| 哈尔滨市| 泰来县| 彭州市| 庄浪县| 新疆| 大丰市| 沾化县| 阳江市| 永州市| 新兴县| 中阳县| 菏泽市| 银川市| 同江市| 沂水县| 抚顺县| 望江县|