SQL Server浮點(diǎn)數(shù)據(jù)類型的詳細(xì)解析
此文章主要向大家描述的是SQL Server浮點(diǎn)數(shù)據(jù)類型,SQL Server數(shù)據(jù)庫的浮點(diǎn)數(shù)據(jù)類型主要是用于十進(jìn)制小數(shù)的存儲(chǔ)。浮點(diǎn)數(shù)值的數(shù)據(jù)在SQL Server 中采用上舍入(Round up 或稱為只入不舍)方式進(jìn)行存儲(chǔ)。所謂上舍入是指。
當(dāng)(且僅當(dāng))要舍入的數(shù)是一個(gè)非零數(shù)時(shí),對(duì)其保留數(shù)字部分的 最低有效位上的數(shù)值加1 ,并進(jìn)行必要的進(jìn)位。
若一個(gè)數(shù)是上舍入數(shù),其絕對(duì)值不會(huì)減少。如:對(duì)3.14159265358979 分別進(jìn)行2 位和12位舍入,結(jié)果為3.15 和3.141592653590。
1、REAL 數(shù)據(jù)類型
REAL數(shù)據(jù)類型可精確到第7 位小數(shù),其范圍為從-3.40E -38 到3.40E +38。 每個(gè)REAL類型的數(shù)據(jù)占用4 個(gè)字節(jié)的存儲(chǔ)空間。
2、FLOAT
FLOAT 數(shù)據(jù)類型可精確到第15 位小數(shù),其范圍為從-1.79E -308 到1.79E +308。 每個(gè)FLOAT 類型的數(shù)據(jù)占用8 個(gè)字節(jié)的存儲(chǔ)空間。 FLOAT數(shù)據(jù)類型可寫為FLOAT[ n ]的形式。n 指定FLOAT 數(shù)據(jù)的精度。n 為1到15 之間的整數(shù)值。當(dāng)n 取1 到7 時(shí),實(shí)際上是定義了一個(gè)REAL 類型的數(shù)據(jù),系統(tǒng)用4 個(gè)字節(jié)存儲(chǔ)它;當(dāng)n 取8 到15 時(shí),系統(tǒng)認(rèn)為其是FLOAT 類型,用8 個(gè)字節(jié)存儲(chǔ)它。
3、DECIMAL
DECIMAL數(shù)據(jù)類型可以提供小數(shù)所需要的實(shí)際存儲(chǔ)空間,但也有一定的限制,您可以用2 到17 個(gè)字節(jié)來存儲(chǔ)從-10的38次方-1 到10的38次方-1 之間的數(shù)值??蓪⑵鋵憺镈ECIMAL[ p [s] ]的形式,p 和s 確定了精確的比例和數(shù)位。
其中p 表示可供SQL Server浮點(diǎn)數(shù)據(jù)類型存儲(chǔ)的值的總位數(shù)(不包括小數(shù)點(diǎn)),缺省值為18; s 表示小數(shù)點(diǎn)后的位數(shù),缺省值為0。 例如:decimal (15 5),表示共有15 位數(shù),其中整數(shù)10 位,小數(shù)5。 位表4-3 列出了各精確度所需的字節(jié)數(shù)之間的關(guān)系。
4、NUMERIC
NUMERIC數(shù)據(jù)類型與DECIMAL數(shù)據(jù)類型完全相同。
注意:SQL Server 為了和前端的開發(fā)工具配合,其所支持的數(shù)據(jù)精度默認(rèn)最大為28位。但可以通過使用命令來執(zhí)行sqlserver.exe 程序以啟動(dòng)SQL Server,可改變默認(rèn)精度。命令語法如下:
- SQLSERVR[/D master_device_path][/P precisim_leve1]
例4-4: 用最大數(shù)據(jù)精度38 啟動(dòng)SQL Server
- sqlservr /d c:\ Mssql2000\data\master.dat /p38
在使用了/P 參數(shù)后,如果其后沒有指定具體的精度數(shù)值,則默認(rèn)為38 位。
以上的相關(guān)內(nèi)容就是對(duì)SQL Server浮點(diǎn)數(shù)據(jù)類型的介紹,望你能有所收獲。
【編輯推薦】
- SQL Server數(shù)據(jù)庫連接,Web.config的正確配置
- SQL Server 數(shù)據(jù)表信息的詳細(xì)描述
- SQL Server置疑的出現(xiàn)的原因,現(xiàn)象與破解
- 實(shí)現(xiàn)SQL Server 2000全文索引遷移步驟
- SQL Server全文索引的實(shí)例演示