![](/img/trans.png)
[英]SQL Server: What is the default data type of a literal with an exponent?
[英]SQL Data Type for exponent
SQL Server 2008 R2中存儲1.74269E-06等值的最佳數據類型是什么?
我試圖把它作為float
,但值總是為零。 建議請。
TIA。
問候,
當我將該值插入float的數據類型時,它不是零。
您可能會意外地將其強制轉換為INT或錯誤地顯示它。
如果您的值非常大或非常小(並且無法在DECIMAL中保存),那么您將需要使用FLOAT
DECLARE @Table TABLE (F FLOAT, D DECIMAL(19,7))
INSERT INTO @Table (F,D)
VALUES(1,1)
INSERT INTO @Table (F,D)
VALUES(1.74269E-06,1.74269E-06)
-- I can see the float here in exponential format
SELECT F,D FROM @Table
-- I can see it here in decimal format
SELECT CONVERT(DECIMAL(19,7),F),D FROM @Table
-- But if I cast to INT it disappears.
SELECT CONVERT(INT,F),D FROM @Table
請改用decimal
。
十進制[(p [,s])]和數字[(p [,s])]固定精度和標度數。 當使用最大精度時,有效值為 - 10 ^ 38 +1到10 ^ 38 - 1.十進制的ISO同義詞是dec和dec(p,s)。 numeric在功能上等效於十進制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.