如果乙個float型資料轉成二進位制後的第32位之後都是0,那麼資料是準的
如果乙個float型資料轉成二進位制後的第32位之後不全為0,則資料就會存在誤差
float和double型別的區別和誤差**。但是decimal型別是mysql官方唯一指定能精確儲存的型別,也是dba強烈推薦和金錢相關的型別都要儲存為decimal型別。
選擇float或者double或者decimal有時候也要看場景,比如我們可以用double儲存乙個小商鋪的季度營業額(幾千萬),單獨用double儲存的時候沒有問題,當多個季度,多個年份,算總營業額時,就可能出現問題,再也算不出乙個準確的答案。所以,如果考慮情況沒那麼有把握的情況下,推薦使用decimal。
關於MySQL資料型別的一些注意問題
用了3年的mysql了,一直對這方面比較忽視,總是固定套著sql模板寫,很多細節方面沒有注意,今天詳細的看了一下mysql方面的書籍,特意記下來,希望能夠重視這些小問題。1 整數型別 1 長度排序 tinyint 1位元組,128 127 smallint 2位元組 mediumint 3位元組 i...
資料型別與資料類的一些感想
在長時間做電表集抄軟體的時候,習慣於將資料層層封裝,而且資料物件全部做成可以序列化的。只不過以前在存貯的時候,使用的還是關係型資料庫的思想,寫dal時候做資料分解比較痛苦。曾有心將序列化後的資料物件直接存貯,可又無法進行快速查詢了,所以此想法無解。現在接觸到的turbogears,zope等,都自己...
c 中一些常見的資料型別
學了也有一兩年的語言了,到現在連基本的資料型別的大小也不是很清楚,或者說是根本就不知道。雖然以前也都看過,但真容易忘。其實感覺好像也不能怪我,誰叫它不經常被用到,或是說不經常被我給用到。其實這也只是為自己找了乙個藉口罷了。直到今天,遇到memset 函式,才想徹底弄清楚一些基本的資料型別的大小,此處...