在桌面上显示浮点型列中的长数字

时间:2015-01-15 08:29:00

标签: html sql-server

我创建了一个向我发送电子邮件的程序,但我错了。长期的 列t,S,Tr。我是否需要投射此列?

DECLARE @table  NVARCHAR(MAX) ;

SET @table =
N'<H1>some Report</H1>' +
N'<table style="width:100%">' +
N'<tr><th>D</th><th>Date</th>' +
N'<th>t</th><th>S</th><th>Tr</th>' +
N'<th>M</th></tr>' +
CAST ((SELECT td=[D],'',td=[D],'',td=round([Tr],0),'',td=round([S],0),'',td=[T],'',td=[M]
FROM [tblDrtrtrttgt]
WHERE  [p] >  dateadd (dd, -3, getdate()) 
order BY [S] desc
FOR XML PATH('tr'), TYPE 
) AS NVARCHAR(MAX) ) +
N'</table>' ;

EXEC msdb.dbo.sp_send_dbmail @recipients='someemail@gmail.com',
@subject = 'EmailofWork',
@body = @table,
@body_format = 'HTML' ;

表格列中的数字: 7.740000000000000e + 003 1.525855000000000e + 006 8.778700000000000e + 004 3.029000000000000e + 005

1 个答案:

答案 0 :(得分:0)

如你所想,施法应该有所帮助。

尝试使用类似内容的内部SELECT;

SELECT 
    td=[Description],
    '',
    td=convert(nvarchar(32), [Date], 102),
    '',
    td=cast(cast(round([Transactions],0) as int) as nvarchar(32)),
    '',
    td=cast(cast(round([Sales],0) as int) as nvarchar(32)),
    '',
    td=[Traffic],
    '',
    td=[Members]
FROM 
    [ffb].[dbo].[tblDashboard]
WHERE  
    [Updated] >  dateadd (dd, -3, getdate()) 
order BY 
    [Sales] desc
FOR XML 
    PATH('tr'), TYPE 

有关这些功能的帮助,请参阅Cast and Convert的MSDN文档。

希望这有帮助。

里斯