2011-08-24 31 views
0

我在SQL Server中的表列ABC Decimal(12, 10)SQL服務器小數點問題

每當我保存零此列,它會自動格式化到0E-10。

爲什麼不能顯示0.0000000000而不是0E-10從我的應用程序中提取。

如何預防?有人可以幫忙嗎?由於

+4

首先 - 我無法重現此(SQL Server 2008 R2)。您正在使用哪種**版本的SQL Server?另外:**你在哪裏和什麼時候看到這個'0E-10'?當你在SQL Server Mgmt Studio中選擇時?從你的應用程序??此外:十進制值作爲十進制(數字)值存儲 - 如果您看到它的某個字符串表示形式,那並不意味着它以這種方式存儲 - 它只是以這種方式向您顯示。十進制只是一個小數 - 它在存儲時沒有任何*格式*。 –

+0

謝謝..使用sqlserver2005。它在我的應用程序以及DB可視化器中顯示如此。如何解決此問題? –

回答

0

試試這個在SQL Server Management Studio中:

DECLARE @Test TABLE (ABC DECIMAL(12,10)) 
INSERT INTO @Test(ABC) VALUES(0.0) 

SELECT * FROM @Test 

你什麼??輸出

我得到:

ABC 
0.0000000000 

你找錯了樹 - 我不認爲這是一個SQL Server的問題 - 你需要檢查你的應用程序是與價值做...

0

您只能在客戶端工具,客戶端代碼或float中獲得0E-10。

決不有小數

你有一個CAST某處的看法?