在mysql中,價(jià)格用“DECIMAL”類(lèi)型。Decimal是專(zhuān)門(mén)為財(cái)務(wù)相關(guān)問(wèn)題設(shè)計(jì)的數(shù)據(jù)類(lèi)型,它實(shí)際上是以字符串的形式存放的,可在定義時(shí)劃定整數(shù)部分以及小數(shù)部分的位數(shù);在對(duì)精度要求比較高時(shí)(如貨幣、科學(xué)數(shù)據(jù)),用DECIMAL類(lèi)型比較好。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在mysql中,價(jià)格用“DECIMAL”類(lèi)型。
Decimal為專(zhuān)門(mén)為財(cái)務(wù)相關(guān)問(wèn)題設(shè)計(jì)的數(shù)據(jù)類(lèi)型。在 MySQL 中,定點(diǎn)數(shù)以字符串形式存儲(chǔ),在對(duì)精度要求比較高的時(shí)候(如貨幣、科學(xué)數(shù)據(jù)),使用 DECIMAL 的類(lèi)型比較好。
Decimal為SQL Server、MySql等數(shù)據(jù)庫(kù)的一種數(shù)據(jù)類(lèi)型,不屬于浮點(diǎn)數(shù)類(lèi)型,可以在定義時(shí)劃定整數(shù)部分以及小數(shù)部分的位數(shù)。使用精確小數(shù)類(lèi)型不僅能夠保證數(shù)據(jù)計(jì)算更為精確,還可以節(jié)省儲(chǔ)存空間,例如百分比使用decimal(4,2)即可。存儲(chǔ)數(shù)據(jù)范圍是:-10^38~10^38-1 的固定精度和小數(shù)位的數(shù)字。一個(gè)decimal類(lèi)型的數(shù)據(jù)占用了2~17個(gè)字節(jié)。
語(yǔ)法:
decimal[ (p[ , s] )]
-
p (有效位數(shù)):可儲(chǔ)存的最大十進(jìn)位數(shù)總數(shù),小數(shù)點(diǎn)左右兩側(cè)都包括在內(nèi)。有效位數(shù)必須是 1 至最大有效位數(shù) 38 之間的值。預(yù)設(shè)有效位數(shù)是 18。
-
s (小數(shù)位數(shù)):小數(shù)點(diǎn)右側(cè)所能儲(chǔ)存的最大十進(jìn)位數(shù)。小數(shù)位數(shù)必須是從 0 到 p 的值。只有在指定了有效位數(shù)時(shí),才能指定小數(shù)位數(shù)。預(yù)設(shè)小數(shù)位數(shù)是 0;因此,0 <= s <= p。最大儲(chǔ)存體大小會(huì)隨著有效位數(shù)而不同。
Decimal(n,m)
表示數(shù)值中共有n位數(shù),其中整數(shù)n-m位,小數(shù)m位。
例:decimal(10,6)
,數(shù)值中共有10位數(shù),其中整數(shù)占4位,小數(shù)占6位。
例:decimal(2,1)
,此時(shí),插入數(shù)據(jù)“12.3”、“12”等會(huì)出現(xiàn)“數(shù)據(jù)溢出錯(cuò)誤”的異常;插入“1.23”或“1.2345…”會(huì)自動(dòng)四舍五入成“1.2”;插入“2”會(huì)自動(dòng)補(bǔ)成“2.0”,以確保2位的有效長(zhǎng)度,其中包含1位小數(shù)。
上面說(shuō)到插入“2”會(huì)自動(dòng)補(bǔ)成“2.0” 但是在實(shí)際 操作中不會(huì)自動(dòng)填補(bǔ)。
【