2014-02-25 25 views
1
DECLARE @tableHTML NVARCHAR(MAX) ; 

SET @tableHTML = 
N'<H1>Additions</H1>' + 
N'<table border="1">' + 
N'<th>f1</th>' + 
N'<th>f2</th>' + 
N'<th>f3</th>' + 
'<tr>' + 
CAST ((SELECT td = CL.f1, '', 
       td = CL.F2, '', 
       td = CL.F3, ''       
      from 
(select * from table2 Where asof = '2/21/2014' and f1= 'abc') CL 
FOR XML PATH('tr'), TYPE 
) AS NVARCHAR(MAX)) + 
N'</table>' ; 

PRINT @tableHTML 

我的表结构:错误而获取SQL输出到html

f1 varchar, f2 float, f3 float 

    a   415454  521.215 

但是我在我的HTML输出类似

f1 f2   f3 

a  4.1e201 5.21e001 

如何获得相同的整数。 float中的值。

+0

如果你知道你需要的最大精度,你可以转换为小数。例如:'cast(CL.F2作为十进制(20,6))' –

+0

你总是可以用['STR()'function]投射它(http://technet.microsoft.com/zh-cn/library/ms189527的.aspx)。它专门设计为从float返回一个字符串。 – 2014-02-25 12:38:04

回答

2

使用cast(CL.F1 as decimal(25, 6))