我有多个数据损坏的表,如下所示:
Good data</title>and some random HTML<p></p><
我想做的只是在单元格中保留“良好数据”并删除其他所有内容。我以为我可以用 EF 创建一个小项目并用 C# 清理数据库,但可能只有 SQL 有更快的解决方案?您可以在 SQL 中使用正则表达式或某种子字符串函数吗?
我将手动查看表格并选择需要运行代码的字段,此时无需自动化。
我有多个数据损坏的表,如下所示:
Good data</title>and some random HTML<p></p><
我想做的只是在单元格中保留“良好数据”并删除其他所有内容。我以为我可以用 EF 创建一个小项目并用 C# 清理数据库,但可能只有 SQL 有更快的解决方案?您可以在 SQL 中使用正则表达式或某种子字符串函数吗?
我将手动查看表格并选择需要运行代码的字段,此时无需自动化。
UPDATE dbo.SQLInjectionVictimTableName
SET UnprotectedColumn = LEFT(UnprotectedColumn, CHARINDEX('<', UnprotectedColumn) - 1)
WHERE UnprotectedColumn LIKE '%<%';
如果良好的数据始终紧随其后</
,您可以使用:
UPDATE YourTable
SET BadField = LEFT(Badfield,CHARINDEX('</',BadField)-1)
WHERE CHARINDEX('</',Badfield) > 0