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

shows me long number in float type columns on table

我创建了一个向我发送电子邮件的程序,但我收到了错误的长号码 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' ;

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

如您所想,转换应该有所帮助。

为你的内心尝试这样的事情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 文档。

希望对您有所帮助。

里斯