簡體   English   中英

指數的SQL數據類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM