我正在尝试将新节点插入到xml变量中,这个新节点包含一些数值变量的值。该数值变量的值在结果xml中进行四舍五入。
下面是我的示例代码:
declare @param numeric(19, 15) = 0.000000000012345; declare @xml xml = '<params/>'; set @xml.modify('insert <param>{sql:variable("@param")}</param> into (params)[1]'); select @param as [param], @xml as [params];
我希望在生成的xml中有精确的数值。
发布于 2019-07-11 14:53:05
一种解决方案是先将数值转换为字符串,然后再将其传递给修改函数:
declare @param numeric(19, 15) = 0.000000000012345;
declare @paramString nvarchar(max) = convert(nvarchar(max), @param);
declare @xml xml = '<params/>';
set @xml.modify('insert <param>{sql:variable("@paramString")}</param> into (params)[1]');
select @param as [param], @paramString as [paramString], @xml as [params];https://stackoverflow.com/questions/56982981
复制相似问题