float 和 real (Transact-SQL)
適用於:Microsoft Fabric 中 Microsoft Fabric
倉儲中的 SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
Platform System (PDW)
SQL 分析端點
用來搭配浮點數值資料使用的近似數值資料類型。 浮點數資料是近似的;因此,並非資料類型範圍內的所有值都能夠精確地表示。 real 的 ISO 同義字是 float(24) 。
語法
float [ (n) ] 其中 n 是用來儲存科學記號標記法 float 數尾數的位元數目;因此,其規定有效位數和儲存體大小。 如果指定 n,則其值必須介於 1 與 53 之間。 n 的預設值為 53。
n 值 | Precision | 儲存體大小 |
---|---|---|
1-24 | 7 位數 | 4 個位元組 |
25-53 | 15 位數 | 8 個位元組 |
注意
SQL Server 會將 n 當做兩個可能值的其中一個來處理。 如果 1<=n<=24,則將 n 當作 24 來處理。 如果 25<=n<=53,則將 n 當作 53 來處理。
SQL Server float[(n)] 資料類型從 1 到 53 的所有 n 值都符合 ISO 標準。 double precision 的同義字是 float(53) 。
注意
若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔。
備註
資料類型 | 範圍 | 儲存體 |
---|---|---|
float | - 1.79E+308 到 -2.23E-308、0 及 2.23E-308 到 1.79E+308 | 這會隨著 n 的值而不同 |
real | - 3.40E + 38 到 -1.18E - 38、0 及 1.18E - 38 到 3.40E + 38 | 4 個位元組 |
轉換 float 與 real 資料
將 float 值轉換成任何整數類型時都會截斷。
當您想要從 float 或 real 轉換成字元資料時,使用 STR 字串函式比 CAST( ) 來得有用。 這是因為 STR 可以對格式有較多的控制。 如需詳細資訊,請參閱 STR (Transact-SQL) 和 Functions (Transact-SQL)。
在 SQL Server 2016 (13.x) 之前,float 值轉換至 decimal 或 numeric,就會限制為只有 17 個有效位數的值。 任何小於 5E-18 (當設定使用 5E-18 科學記號標記法或 0.000000000000000005 十進位標記法時) 的 float 值都會捨去為 0。 在 SQL Server 2016 (13.x) 就不再有這個限制。
另請參閱
ALTER TABLE (Transact-SQL)
CAST 和 CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
資料類型轉換 (資料庫引擎)
資料類型 (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)
意見反應
提交並檢視相關的意見反應