Bry*_*yan 2 sql-server for-xml
float当我使用 FOR XML从 SQL 数据库获取类型值时,它会将它们格式化为科学格式,如下所示:
<foo bar="0.00000000e+000"/>
Run Code Online (Sandbox Code Playgroud)
我更喜欢它说“0”。
我怎样才能说服它这样做呢?
CAST是你的朋友
declare @t table (bar float); insert @t values (0);
select bar from @t for xml path('foo');
------------------------------------------------
| <foo><bar>0.000000000000000e+000</bar></foo> |
declare @t table (bar float); insert @t values (0);
select CAST(bar as decimal(10,2)) bar from @t for xml path('foo');
--------------------------------------------
| <foo><bar>0.00</bar></foo> |
declare @t table (bar float); insert @t values (0);
select CAST(bar as bigint) bar from @t for xml path('foo');
--------------------------------------------
| <foo><bar>0</bar></foo> |
Run Code Online (Sandbox Code Playgroud)