2012-06-07 33 views
1

使用SQL Server 2000如何使用浮點數顯示尾隨零

使用浮點數時不顯示零。

查詢

insert into table1 values ('01.10') 
insert into table1 values ('10.50') 
insert into table1 values ('02.02') 

輸出

Values (datatype is float) 

01.1 
10.5 
02.02 
... 

如何顯示最後的零的同時

期望輸出

值(數據類型爲浮動)

01.10 
10.50 
02.02 
... 
+2

爲什麼這樣的格式不是在你的應用程序/前端/報告層做了什麼?這不應該在數據庫端完成。 –

+0

浮點沒有尾隨零,如果他們這樣做,它們將是二進制而不是十進制。 – EJP

+0

@EJP你知道他的意思嗎?他正在談論的是以演講術語尾隨零,而不是存儲。 –

回答

5

你爲什麼使用FLOAT?我發現在很多情況下,人們在不瞭解其限制或特性時會使用FLOAT。爲了存儲2位小數的小數值,我會使用十進制。

CREATE TABLE #floob(f FLOAT, d DECIMAL(10,2)); 

INSERT #floob SELECT 2.02, 2.02; 
INSERT #floob SELECT 2.7, 2.7; 
INSERT #floob SELECT 1.5, 1.5; 

SELECT f, f_as_d = CONVERT(DECIMAL(10,2), f), d FROM #floob; 

結果:

f  f_as_d d 
------ ------ ------ 
2.02  2.02  2.02 
2.7  2.70  2.70 
1.5  1.50  1.50 
+0

嗨亞倫,在我的情況下,我顯示一個小數點作爲字符數據類型,我的輸出是在excel工作表中。我試圖用'''+ [Value] +'''+'='保留小數點後的零,但它似乎並沒有工作。但是,這是與領先的零工作。 – Sana

+0

@Sana這似乎是Excel顯示問題,而不是T-SQL中的編程問題。要在Excel中保留尾隨零,您需要將這些單元格格式化爲適當的數字類型。 –