首页 > 解决方案 > 识别并删除引号中的记录

问题描述

我导入了一个包含大约 100,000 条记录的表,其中一些需要删除。我想识别并删除特定字段(称为 MyQuery)包含用引号括起来的单词的任何和所有记录,但如果该字段中只有两个引号。

例如,我想删除“这是一个测试”——但不是——“这是一个”测试“

感谢您的任何帮助

标签: sql

解决方案


你可以这样做:

DELETE
-- SELECT *   -- To test first!
FROM YourTable
WHERE LEN(MyQuery) - LEN(REPLACE(MyQuery, '"', '')) = 2;
AND MyQuery LIKE '"%"'

您基本上是在删除所有引号后比较字段的长度。这是确定特定字符出现次数的简单方法。

在您发表评论后,我添加了另一个条件,因此引号始终围绕该字段。


推荐阅读