1. sql server 2005 金額用什麼欄位類型
一般用decimal(18,2)就行了,不過具體還要看業務系統的金額精確度需求,所以一般使用自定義類型,在系統初始化時定義好這個類型的小數位長度。
2. 在sql server中,價格該用什麼資料庫類型
定義成money類型。
位元組數 長度(小數點前.小數點後)
money 8 15位.4位
3. 【SQL】金額如果存在資料庫中應該使用何種類型
一般用money或decimal或numeric,而不用float或double,因為容易出現"失真".
money貨幣數據存儲的精確度為四位小數。可以存儲在 money 數據類型中的值的范圍是 -922,337,203,685,477.5808 至 +922,337,203,685,477.5807(需 8 個位元組的存儲空間)。
在 SQL Server中,numeric 數據類型等價於 decimal 數據類型。存儲 decimal 或 numeric 數值所需的位元組數取決於該數據的數字總數和小數點右邊的小數位數。
4. sql費用的數據類型
一般moeny型存儲,不過4位小數。
你要指定2位小數的話,用decimal或numeric,可設置小數位數
5. sql各版本的價格類型有哪些
在安裝SQL Server 2000,2005,2008時,系統會分別對應創建以下目錄:
C:\Program Files\Microsoft SQL Server\80
C:\Program Files\Microsoft SQL Server\90
C:\Program Files\Microsoft SQL Server\100
據此,可以猜想2000對應8.0;2005對應9.0;2008對應10.0;但也僅僅是猜想,微軟並沒有公開使用這些版本.既便有,那也是微軟內部版本.
6. 我想問下在資料庫中一個商品價格欄位應該設置什麼類型
如果是sqlserver的欄位類型是:decimal(18,2)
7. sql server 貨幣 欄位 類型 一般用什麼類型
貨幣的欄位類型一般有int,float,money/smallmoney,decimal/numberic。
根據存儲數據的精度不同選擇:
int只能存儲整數的錢。
money/smallmoney數據類型精確到它們所代表的貨幣單位的萬分之一 。
decimal/numberic 可以自定義小數位和能存儲的數據精度, 所以一般使用這種類型的人會多一些。
float 對貨幣這種需要精確值的數值不合適。
總結:
在財務方面最好實用money與decimal類型。
如果是簡單的計算可以使用float類型,不過float類型在有些平台上取出數據並不是那麼准確,有可能會丟失精度。所以說如果在性能穩定的平台中,開銷不是很大,建議使用以上兩種類型。
(7)sql價格用什麼類型擴展閱讀:
SQL數據類型:
1、bit 整型
bit數據類型是整型,其值只能是0、1或空值。這種數據類型用於存儲只有兩種可能值的數據,如Yes 或No、True 或False 、On 或Off.
注意:很省空間的一種數據類型,如果能夠滿足需求應該盡量多用。
2、tinyint 整型
tinyint 數據類型能存儲從0到255 之間的整數。它在你只打算存儲有限數目的數值時很有用。這種數據類型在資料庫中佔用1 個位元組。
3、smallint 整型
smallint 數據類型可以存儲從- 2的15次冪(-32768)到2的15次冪(32767)之間的整數。這種數據類型對存儲一些常限定在特定范圍內的數值型數據非常有用。這種數據類型在資料庫里佔用2 位元組空間。
4、int 整型
int 數據類型可以存儲從- 2的31次冪(-2147483648)到2的31次冪 (2147483 647)之間的整數。存儲到資料庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在資料庫里佔用4個位元組。
5、decimal 精確數值型
decimal 數據類型能用來存儲從-10的38次冪-1到10的38次冪-1的固定精度和范圍的數值型數據。使用這種數據類型時,必須指定范圍和精度。 范圍是小數點左右所能存儲的數字的總位數。精度是小數點右邊存儲的數字的位數。
6、numeric 精確數值型
numeric數據類型與decimal 相似。
7、smallmoney 貨幣型
smallmoney 數據類型用來表示錢和貨幣值。這種數據類型能存儲從-214748.3648 到214748.3647 之間的數據,精確到貨幣單位的萬分之一。
8、money 貨幣型
money數據類型用來表示錢和貨幣值。這種數據類型能存儲從-9220億到9220 億之間的數據,精確到貨幣單位的萬分之一。
9、float 近似數值型
float 數據類型是一種近似數值類型,供浮點數使用。說浮點數是近似的,是因為在其范圍內不是所有的數都能精確表示。浮點數可以是從-1.79E+308到1.79E+308 之間的任意數。
10、real 近似數值型
real 數據類型像浮點數一樣,是近似數值類型。它可以表示數值在-3.40E+38到3.40E+38之間的浮點數。
8. sql 表設計時,面積,單價應該用什麼數據類型
面積用decimal(4,2)單價用int就行了。
9. mysql 存儲金額類型,用什麼數據類型比較可靠,一般企業數據用什麼數據類型
對於游戲幣等代幣,一般存儲為int類型是可行的。問題在於越界,int類型長度為11位。
在存儲人民幣相關的金額的時候,則只能存儲到9長度的人民幣,也就是說,最大隻能存儲999999999,不到10億的數值,如果業務增長很快的話,就會給自己留下隱患。
Decimal:Decimal為專門為財務相關問題設計的數據類型。
DECIMAL從MySQL 5.1引入,列的聲明語法是DECIMAL(M,D)。在MySQL 5.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) 的最大值為9 9 9 9 . 9 9,因為有7 個位元組可用。能夠解決數據的范圍和精度的問題。
(9)sql價格用什麼類型擴展閱讀
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屬性,則DECIMAL UNSIGNED的列將不接受負值。
如果使用ZEROFILL,MySQL將把顯示值填充到0以顯示由列定義指定的寬度。 另外,如果我們對DECIMAL列使用ZERO FILL,MySQL將自動將UNSIGNED屬性添加到列。
10. mysql 建表時的價格用什麼類型定義
MySQL中可以用來做價格的欄位一般有float、double、decimal
如定義一個money欄位類型為float(9,2),則money欄位最大長度為9,整數位是6位,小數位是2位。
以下摘自MySQL 5.1參考手冊:
1、FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
小(單精度)浮點數。允許的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。這些是理論限制,基於IEEE標准。實際的范圍根據硬體或操作系統的不同可能稍微小些。
M是小數總位數,D是小數點後面的位數。如果M和D被省略,根據硬體允許的限制來保存值。單精度浮點數精確到大約7位小數位。
如果指定UNSIGNED,不允許負值。
使用浮點數可能會遇到意想不到的問題,因為在MySQL中的所有計算用雙精度完成。參見A.5.7節,「解決與不匹配行有關的問題」。
2、DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
普通大小(雙精度)浮點數。允許的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308。這些是理論限制,基於IEEE標准。實際的范圍根據硬體或操作系統的不同可能稍微小些。
M是小數總位數,D是小數點後面的位數。如果M和D被省略,根據硬體允許的限制來保存值。雙精度浮點數精確到大約15位小數位。
如果指定UNSIGNED,不允許負值。
3、DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED] [ZEROFILL]
為DOUBLE的同義詞。除了:如果SQL伺服器模式包括REAL_AS_FLOAT選項,REAL是FLOAT的同義詞而不是DOUBLE的同義詞。
4、FLOAT(p) [UNSIGNED] [ZEROFILL]
浮點數。p表示精度(以位數表示),但MySQL只使用該值來確定是否結果列的數據類型為FLOAT或DOUBLE。如果p為從0到24,數據類型變為沒有M或D值的FLOAT。如果p為從25到53,數據類型變為沒有M或D值的DOUBLE。結果列范圍與本節前面描述的單精度FLOAT或雙精度DOUBLE數據類型相同。
FLOAT(p)語法與ODBC兼容。
5、DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
壓縮的「嚴格」定點數。M是小數位數(精度)的總數,D是小數點(標度)後面的位數。小數點和(負數)的『-』符號不包括在M中。如果D是0,則值沒有小數點或分數部分。DECIMAL整數最大位數(M)為65。支持的十進制數的最大位數(D)是30。如果D被省略, 默認是0。如果M被省略, 默認是10。
如果指定UNSIGNED,不允許負值。
所有DECIMAL列的基本計算(+,-,*,/)用65位精度完成。
6、DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]
是DECIMAL的同義詞。FIXED同義詞適用於與其它伺服器的兼容性。