更新SQL字段的一部分

时间:2014-01-02 09:41:53

标签: sql

我在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>

如何只使用过期日期部分更改所有内容?

1 个答案:

答案 0 :(得分:0)

因此,您有一个包含XML的字段,您只想更改其中的一部分。我不认为SQL有任何编辑XML的工具。您必须在应用程序中编写执行XML解析的代码并从那里进行更改。然而,这可能是相当昂贵的操作。如果您可以保证ExpidationDate只包含时间,您可以使用正则表达式替换它。

此正则表达式捕获group1中的日期。然后,您可以进行简单的替换:

<ExpirationDate.*>\s*(.*)\s*</ExpirationDate>