sqlmoney類型
① sql server 貨幣 欄位 類型 一般用什麼類型
貨幣的欄位類型一般有int,float,money/smallmoney,decimal/numberic。
根據存儲數據的精度不同選擇:
int只能存儲整數的錢。
money/smallmoney數據類型精確到它們所代表的貨幣單位的萬分之一 。
decimal/numberic 可以自定義小數位和能存儲的數據精度, 所以一般使用這種類型的人會多一些。
float 對貨幣這種需要精確值的數值不合適。
總結:
在財務方面最好實用money與decimal類型。
如果是簡單的計算可以使用float類型,不過float類型在有些平台上取出數據並不是那麼准確,有可能會丟失精度。所以說如果在性能穩定的平台中,開銷不是很大,建議使用以上兩種類型。
(1)sqlmoney類型擴展閱讀:
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之間的浮點數。
② sql怎麼將字元轉換成money類型
如果proction_info表中的價格列本身是money類型的,那麼insert合法的數字字元串會自動轉換成money類型,不需轉換.
如果proction_info表中的價格列本身不是money類型,而是varchar類型,那麼輸入什麼字元就是什麼字元.在查詢顯示的時候再轉換成money類型,用
convert(money,列)
或
cast(列 as money)
③ sql數據類型有哪些
(1)二進制數據類型
二進制數據包括 Binary、Varbinary 和 Image
Binary 數據類型既可以是固定長度的(Binary),也可以是變長度的。
Binary[(n)] 是 n 位固定的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4 個位元組。
Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4個位元組,不是n 個位元組。
在 Image 數據類型中存儲的數據是以位字元串存儲的,不是由 SQL Server 解釋的,必須由應用程序來解釋。例如,應用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把數據存儲在 Image 數據類型中。
(2)字元數據類型
字元數據的類型包括 Char,Varchar 和 Text
字元數據是由任何字母、符號和數字任意組合而成的數據。
Varchar 是變長字元數據,其長度不超過 8KB。Char 是定長字元數據,其長度最多為 8KB。超過 8KB 的ASCII 數據可以使用Text數據類型存儲。例如,因為 Html 文檔全部都是 ASCII字元,並且在一般情況下長度超過 8KB,所以這些文檔可以 Text 數據類型存儲在SQL Server 中。
(3)Unicode 數據類型
Unicode 數據類型包括 Nchar,Nvarchar 和Ntext
在 Microsoft SQL Server 中,傳統的非 Unicode 數據類型允許使用由特定字元集定義的字元。在 SQL Server安裝過程中,允許選擇一種字元集。使用 Unicode 數據類型,列中可以存儲任何由Unicode 標準定義的字元。在 Unicode 標准中,包括了以各種字元集定義的全部字元。使用Unicode數據類型,所佔用的窨是使用非Unicode數據類型所佔用的窨大小的兩倍。
在 SQL Server 中,Unicode 數據以 Nchar、Nvarchar 和 Ntext 數據類型存儲。使用這種字元類型存儲的列可以存儲多個字元集中的字元。當列的長度變化時,應該使用Nvarchar字元類型,這時最多可以存儲 4000 個字元。當列的長度固定不變時,應該使用 Nchar字元類型,同樣,這時最多可以存儲4000 個字元。當使用 Ntext 數據類型時,該列可以存儲多於 4000 個字元。
(4)日期和時間數據類型
日期和時間數據類型包括 Datetime 和 Smalldatetime兩種類型
日期和時間數據類型由有效的日期和時間組成。例如,有效的日期和時間數據包括「4/01/98 12:15:00:00:00 PM」和「1:28:29:15:01AM 8/17/98」。前一個數據類型是日期在前,時間在後;後一個數據類型是時間在前,日期在後。在 Microsoft SQL Server中,日期和時間數據類型包括Datetime 和 Smalldatetime 兩種類型時,所存儲的日期范圍是從 1753 年 1 月 1 日開始,到9999 年12 月 31 日結束(每一個值要求 8 個存儲位元組)。使用 Smalldatetime 數據類型時,所存儲的日期范圍是 1900年 1 月 1日 開始,到 2079 年 12 月 31 日結束(每一個值要求 4 個存儲位元組)。
日期的格式可以設定。設置日期格式的命令如下:
Set DateFormat {format | @format _var|
其中,format | @format_var 是日期的順序。有效的參數包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認情況下,日期格式為MDY。
例如,當執行 Set DateFormat YMD 之後,日期的格式為年 月 日 形式;當執行 Set DateFormat DMY 之後,日期的格式為日 月有年 形式
(5)數字數據類型
數字數據只包含數字。數字數據類型包括正數和負數、小數(浮點數)和整數
整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Microsoft SQL Server 中,整數存儲的數據類型是 Int,Smallint和 Tinyint。Int 數據類型存儲數據的范圍大於 Smallint 數據類型存儲數據的范圍,而 Smallint 據類型存儲數據的范圍大於Tinyint 數據類型存儲數據的范圍。使用 Int 數據類型存儲數據的范圍是從 -2 147 483 648 到 2 147 483 647(每一個值要求4個位元組存儲空間)。使用 Smallint 數據類型時,存儲數據的范圍從 -32 768 到 32 767(每一個值要求2個位元組存儲空間)。使用Tinyint 數據類型時,存儲數據的范圍是從0 到255(每一個值要求1個位元組存儲空間)。
精確小數數據在 SQL Server 中的數據類型是 Decimal 和 Numeric。這種數據所佔的存儲空間根據該數據的位數後的位數來確定。Decimal 數據類型使用128位來表示值來用作數值計算。
在SQL Server 中,近似小數數據的數據類型是 Float 和 Real。例如,三分之一這個分數記作0.333333,當使用近似數據類型時能准確表示。因此,從系統中檢索到的數據可能與存儲在該列中數據不完全一樣。
(6)貨幣數據類型
在 Microsoft SQL Server 中,貨幣數據的數據類型是Money 和 Smallmoney
Money數據類型要求 8 個存儲位元組,Smallmoney 數據類型要求 4 個存儲位元組。
(7)特殊數據類型
特殊數據類型包括前面沒有提過的數據類型。特殊的數據類型有3種,即 Timestamp、Bit 和 Uniqueidentifier。
Timestamp 用於表示SQL Server 活動的先後順序,以二進投影的格式表示。Timestamp 數據與插入數據或者日期和時間沒有關系。Timestamp 類型的欄位是一個基於系統時鍾在數據行被創建或修改時由SQL Server自動填充的值。
Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 數據類型。例如,詢問是否是每一次訪問的客戶機請求可以存儲在這種數據類型的列中。
Uniqueidentifier 由 16位元組的十六進制數字組成,表示一個全局唯一的。當表的記錄行要求唯一時,GUID是非常有用。例如,在客戶標識號列使用這種數據類型可以區別不同的客戶。
④ 如何在sql server中把資料庫中money類型轉換為char類
用CAST或者CONVERT
cast(12.56
as
char)
CONVERT(char,12.56)
語法
使用
CAST:
CAST
(
expression
AS
data_type
)
使用
CONVERT:
CONVERT
(data_type[(length)],
expression
[,
style])
參數
expression
是任何有效的
Microsoft®
SQL
Server™
表達式。有關更多信息,請參見表達式。
data_type
目標系統所提供的數據類型,包括
bigint
和
sql_variant。不能使用用戶定義的數據類型。有關可用的數據類型的更多信息,請參見數據類型。
length
nchar、nvarchar、char、varchar、binary
或
varbinary
數據類型的可選參數。
style
日期格式樣式,藉以將
datetime
或
smalldatetime
數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar
或
nvarchar
數據類型);或者字元串格式樣式,藉以將
float、real、money
或
smallmoney
數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar
或
nvarchar
數據類型)。
SQL
Server
支持使用科威特演算法的阿拉伯樣式中的數據格式。
在表中,左側的兩列表示將
datetime
或
smalldatetime
轉換為字元數據的
style
值。給
style
值加
100,可獲得包括世紀數位的四位年份
(yyyy)。
⑤ my sql 有「money」類型嗎
mysql確實沒有money類型
sql server才有money類型
說明如下:
money 保存貨幣值數據類型,范圍為-922337203685477.5808到+922337203685477.5808 最大長度為8位元組。
smallmoney 保存貨幣值數據類型,范圍為-214748.3647到+214748.3647 最大長度為4位元組。
可見,可以考慮用double類型,因為,double是8個位元組,而float只有4個位元組
至於mysql的數據類型的教程,可以參考http://dev.mysql.com/doc/refman/5.1/zh/index.html
里的「列類型」鏈接
⑥ SQL中的money類型怎麼用
UserMoney
money,
直接這樣寫就行了。封裝到類里,可以用float型。
⑦ 在SQL資料庫中,設置了一個欄位的類型為money,但是money類型數據保留的是四位小數,如何設置為兩位小數
1、直接型,通過ToString()函數直接格式化。
例如把money = 12345.67 格式成 money = 12,345.67。代碼如下:
string_money=moeny.ToString("N")或者string_moeny=money.ToString("#,###.00")
2、本地化型,通過CultureInfo類,根據指定的文化進行格式化,同樣的,代碼如下:
doublemoney=12345.67;
CultrueInfoci=newCultrueInfo("zh-CH");
string_money=money.ToString("c",ci)。
⑧ SQL的money類型如何進行比較
sql server中的money類型實際上等同於decimal(19,4)類型。因此直接用>、<和=比較大小就可以了。
⑨ 請教,SQL SERVER中money數據類型
float類型就是money類型一樣的數據類型。
money類型只是顯示在數據表的時候前面多加一個$樣式的符號,讓客戶看上去舒服,方便編輯,其實跟float是同類型數據。