導航:首頁 > 數據處理 > 資料庫中余額用什麼類型

資料庫中余額用什麼類型

發布時間:2024-06-13 22:23:45

『壹』 求銀行客戶資料庫里的儲存數據類型

首先要看銀行用的資料庫類型,是oracle、informix還是db2。一般建行用informix資料庫居多。用戶數據類型基本上用以下這幾種:
帳號、姓名等 char
教育金額、余額等decimal
日期char(10)
交易流水號、int居多(或者long)
標志等char(1)

如果是其它資料庫,參照對應的數據類型就可以了。

『貳』 sqlserver 建資料庫時表示時間,金額和重量的欄位用什麼數據類型好,有人說全用nvarchar因為好操作,求解

時間:DateTime
金額:money 或 numeric(18,2). numeric主要是方便定義小數位數,money限死了只有四位
重量: numeric , 不需要精度的就 numeric(12,0), 需要精度就 numer(30,n)

『叄』 mysql存儲金額類型,用什麼數據類型比較可靠,一般企業數據用什麼數據類型

對於游戲幣等代幣,一般存儲為int類型是可行的。問題在於越界,int類型長度為11位。

在存儲人民幣相關的金額的時候,則只能存儲到9長度的人民幣,也就是說,最大隻能存儲999999999,不到10億的數值,如果業務增長很快的話,就會給自己留下隱患。

Decimal:Decimal為專門為財務相關問題設計的數據類型。

DECIMAL從MySQL5.1引入,列的聲明語法是DECIMAL(M,D)。在MySQL5.1中,參量的取值范圍如下:M是數字的最大數(精度)。其范圍為1~65(在較舊的MySQL版本中,允許的范圍是1~254),M的默認值是10。

D是小數點右側數字的數目(標度)。其范圍是0~30,但不得超過M。說明:float佔4個位元組,double佔8個位元組,decimail(M,D)佔M+2個位元組。

如DECIMAL(5,2)的最大值為9999.99,因為有7個位元組可用。能夠解決數據的范圍和精度的問題。

(3)資料庫中余額用什麼類型擴展閱讀

MySQL數據類型DECIMAL用法:

MySQLDECIMAL數據類型用於在資料庫中存儲精確的數值。我們經常將DECIMAL數據類型用於保留准確精確度的列,例如會計系統中的貨幣數據。

要定義數據類型為DECIMAL的列,請使用以下語法:column_nameDECIMAL(P,D);

在上面的語法中:

P是表示有效數字數的精度。P范圍為1〜65。

D是表示小數點後的位數。D的范圍是0~30。MySQL要求D小於或等於(<=)P。

DECIMAL(P,D)表示列可以存儲D位小數的P位數。十進制列的實際范圍取決於精度和刻度。

與INT數據類型一樣,DECIMAL類型也具有UNSIGNED和ZEROFILL屬性。如果使用UNSIGNED屬性,則DECIMALUNSIGNED的列將不接受負值。

如果使用ZEROFILL,MySQL將把顯示值填充到0以顯示由列定義指定的寬度。另外,如果我們對DECIMAL列使用ZEROFILL,MySQL將自動將UNSIGNED屬性添加到列。

『肆』 【SQL】金額如果存在資料庫中應該使用何種類型

在工作中發現原本系統中金額類型(int 10,存入資料庫時乘100)已經不能滿足當前需求,需要重新修改類型。於是像技術總監發起兩次審批,但都被駁回了。第一次金額類型為 DECIMAL(32,8) , 第二次類型是 DECIMAL(10,2),之後技術總監說,你第一次的類型可能是對的,於是小彭百思不得其解,引發以下的靈魂三問......

為什麼系統期初設置金額時要用 int 10 類型?
為什麼兩次審批都被駁回?
為什麼後來技術總監又說第一次的可能是對的?
簡單思考過後:小彭,大膽的推測了第一個問題,可能是當初設計數據結構時,認為金額精確到分即可,所以默認乘100 (保留兩位小數)。但金額最大為 9千萬元,是否真的能符合要求,回頭還得再問問技術總監。這時,小彭又想到兩個問題:

既然是保留小數了,為什麼還要用 INT 類型呢?
如果說 FLOAT和 DOUBLE類型可能會存在精度問題,又為什麼不用 DECIMAL類型呢?
經過查閱博客之後:小大概想通了第二個問題,第一次被駁回的原因是:DECIMAL類型在資料庫中是根據傳入的數值來決定存儲的位元組長度的,32明顯過長會導致磁碟空間的浪費。而第二次則是走了另外一個極端:原本長度為10已經快要滿足不了需求的了,如果再修改為同樣的長度意義不大,還會引起後續再次修改類型的情況。

又結合系統反思了一下:大概明白了第三個問題,至於金額的長度其實是沒有沒有一個具體的標準的,要根據具體業務情況,預估最大的金額上限,再決定具體長度。

意料之外的驚喜,在看書籍中意外的解決了第二組的兩個問題。 由於CPU不支持對 DECIMAL 的 直接計算,所以在計算的過程中需要額外的空間及計算開銷,導致性能過慢。還存在另外一種解決方案:使用 BIGINT 代替 DECIMAL,在計算時,可以乘或除以相應的倍數即可,來取代 DECIMAL 計算代價高的問題。

最後總結:

FLOAT和 DOUBLE類型會存在精度問題,是因為十進制0.1在電腦里用二進制是無法精確表示的。
DECIMAL類型在資料庫中存儲的位元組長度計算公式:對decimal(M,D) ,如果M>D,長度為M+2,否則為D+2。
要根據具體業務情況,預估最大的金額上限,再決定具體長度。
DECIMAL 計算的過程中需要額外的空間及計算開銷,性能低。

『伍』 mysql設計資料庫錢用什麼欄位

通常在處理金額方面,使用float 和double 明顯不夠精確。
設置欄位使用decimal 後面不寫默認是(10)。根據情況可以設置第二個參數,第二個參數是需要保留的位數,在java 中也不能直接使用 + - * / 方法來計算。使用bigDecimal 處理加法:add 減法:substract 乘法:multiply 除法:divdie。計算

『陸』 資料庫存錢是用的int還是demical類型

資料庫存錢一般使用貨幣型,當然如果用demical也是可以的

閱讀全文

與資料庫中余額用什麼類型相關的資料

熱點內容
吉林普洱茶葉如何代理 瀏覽:100
主機入侵檢測系統利用哪些信息 瀏覽:993
怎麼教孩子壘球技術 瀏覽:352
朝陽附近工商代理多少錢 瀏覽:555
所有程序菜單中標黃色是什麼意思 瀏覽:128
單行道逆行多少天信息 瀏覽:591
伽思珂護發素怎麼代理 瀏覽:761
三甲基鋁產品有什麼用 瀏覽:678
小程序風口在什麼地方 瀏覽:562
系統還原數據丟失怎麼辦 瀏覽:671
cnc程序里為什麼加g52 瀏覽:876
雲伺服器微信小程序用哪個套餐 瀏覽:110
銀行代理費是多少 瀏覽:322
編號是什麼數據 瀏覽:982
引流卡怎麼申請代理 瀏覽:393
哪些交易所大陸注冊 瀏覽:886
python爬取股票實時數據後如何下單 瀏覽:266
在區域代理拿桶裝水大概多少錢 瀏覽:608
逆行扣分一般多久能來信息 瀏覽:286
程序狀態反映了什麼 瀏覽:536