我在sql表中有4900行,我需要更新其中的一部分。
结束日期是我需要更改但创建日期是唯一的
例如
<ArrayOfPromotionRuleBase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PromotionRuleBase xsi:type="StartDatePromotionRule">
<StartDate>
2010-11-19T13:44:15.253
</StartDate>
</PromotionRuleBase>
<PromotionRuleBase xsi:type="ExpirationDatePromotionRule">
<ExpirationDate>
2014-01-01T00:00:00
</ExpirationDate>
</PromotionRuleBase>
</ArrayOfPromotionRuleBase>
如何只使用过期日期部分更改所有内容?
答案 0 :(得分:0)
因此,您有一个包含XML的字段,您只想更改其中的一部分。我不认为SQL有任何编辑XML的工具。您必须在应用程序中编写执行XML解析的代码并从那里进行更改。然而,这可能是相当昂贵的操作。如果您可以保证ExpidationDate只包含时间,您可以使用正则表达式替换它。
此正则表达式捕获group1中的日期。然后,您可以进行简单的替换:
<ExpirationDate.*>\s*(.*)\s*</ExpirationDate>