首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止sql:变量在插入节点时在xml.modify()中被舍入?

如何防止sql:变量在插入节点时在xml.modify()中被舍入?
EN

Stack Overflow用户
提问于 2019-07-11 14:37:13
回答 1查看 46关注 0票数 0

我正在尝试将新节点插入到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中有精确的数值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-11 14:53:05

一种解决方案是先将数值转换为字符串,然后再将其传递给修改函数:

代码语言:javascript
复制
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];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56982981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档