删除SQL表中的XML列中的Extra \

时间:2015-08-04 22:16:25

标签: mysql sql sql-server tsql

我在SQL表列中有这个XML,列的类型是TEXT。我想删除Extra \存在的是一些XML。

这是XML:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.13.2/ui-bootstrap.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.13.2/ui-bootstrap-tpls.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<div ng-app="demoApp" ng-controller="mainController">
    <script type="text/ng-template" id="templates/datepicker/datepicker.html">
        <fieldset>
    <div class='input-group'>
        <input type="text" class="form-control" datepicker-popup="" ng-model="model" min-date="minDate" is-open="isOpened" datepicker-options="dateOptions" ng-required="true" close-text="Close" />
            <span ng-click="open()" class="btn btn-default input-group-addon">
                <span class="glyphicon glyphicon-calendar"></span>
            </span>
    </div>
</fieldset>
    </script>
    
    <custom-dir model="dateModel.date" min-date="dateModel.min" is-opened="isOpened"></custom-dir>
</div>

1 个答案:

答案 0 :(得分:1)

您要替换的内容是转义引号。您应该在搜索字符串中包含引号,以便自己存在的反斜杠不会被意外替换:

UPDATE MyTable SET MyColumn = REPLACE(MyColumn, '\"', '"')

除此之外,在某些情况下,转义的属性值可能是必要的,并且可能更适合在UI层中取消XML字符串并将其保留在表中。

最后,您将XML存储在text类型的列中,该列已被弃用了很长时间。如果您的SQL Server版本允许,您还应该考虑切换到xml数据类型。