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





















