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