Lorsque j'utilise FOR XML pour extraire les valeurs de type float
de ma database SQL, il les met en forme au format scientifique, comme ceci:
<foo bar="0.00000000e+000"/>
Je préférerais dire "0".
Comment puis-je le persuader de le faire?
CAST est votre ami
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> |
CAST est votre ennemi. Cela peut réduire considérablement les performances. Lisez ceci .