【发布时间】:2017-02-26 02:50:31
【问题描述】:
我正在使用 sql 2008R2,该表具有类似 xml 列-
<New>
<From>
<Scale>Tony</Scale>
<ScaleName>Name</ScaleName>
</From>
</New>
<New>
<From>
<Scale>Tom</Scale>
<ScaleName>Name</ScaleName>
</From>
</New>
<New>
<From>
<Scale>Seven</Scale>
<ScaleName>Height</ScaleName>
</From>
</New>
<New>
<From>
<Scale>Ten</Scale>
<ScaleName>Height</ScaleName>
</From>
</New>
<New>
<From>
<Scale>***XXX***</Scale>
<ScaleName>Height</ScaleName>
</From>
</New>
.......等等
我需要编写一个 SQL,它可以检查 ScaleName 的 Scale 没有 XXX 作为值的所有节点,然后添加/插入以下文本,为 2次。当只有一个 ***XXX**** 条目时,它应该只添加/插入一次
<New>
<From>
<Scale>***XXX***</Scale>
<ScaleName>Respective Scalename</ScaleName>
</From>
</New>
预期结果-----
<New>
<From>
<Scale>Tony</Scale>
<ScaleName>Name</ScaleName>
</From>
<New>
<From>
<Scale>Tom</Scale>
<ScaleName>Name</ScaleName>
</From>
</New>
<New>
<From>
<Scale>***XXX***</Scale>
<ScaleName>Name</ScaleName>
</From>
</New>
<New>
<From>
<Scale>***XXX***</Scale>
<ScaleName>Name</ScaleName>
</From>
</New>
<New>
<From>
<Scale>Seven</Scale>
<ScaleName>Height</ScaleName>
</From>
</New>
<New>
<From>
<Scale>Ten</Scale>
<ScaleName>Height</ScaleName>
</From>
</New>
<New>
<From>
<Scale>***XXX***</Scale>
<ScaleName>Height</ScaleName>
</From>
</New>
<New>
<From>
<Scale>***XXX***</Scale>
<ScaleName>Height</ScaleName>
</From>
</New>
【问题讨论】:
-
然后在没有的地方添加文本,重复 2 次i> - 显示预期结果的外观
-
您的 XML 真的没有根元素吗(不是不可能,但不是最佳选择...)?请解释一下,add/insert the following text, for 2 times 是什么意思。我没有看到任何 以下文本 以及您想在哪里/为什么/什么插入两次?正如@RomanPerekhrest 已经问过的那样:请提供预期的输出和您迄今为止尝试过的代码......
-
add/insert 表示添加 XML 代码。 Java basd 应用程序需要此代码。每个唯一的 scalename 的 XXX 条目需要 2 次span>
-
XXX 条目 =
跨度>***XXX*** 各自的Scalename -
预期结果 - 预期结果 -----
标签: sql-server xml string tsql sql-server-2008-r2