esp*_*fee 0 t-sql sql-server sql-server-2008 sql-delete
我有删除查询,应删除所有不匹配01或10的记录.这两个数字位于用短划线分隔的单词前面.看起来像这样:
Column_1
01-Test1
01-Test2
10-Test3
10-Test4
我的查询应该删除在单词前面与01和10不匹配的所有记录.这是我的查询:
DELETE FROM MyRecords
WHERE Column_1 NOT LIKE '01%' OR Column_1 NOT LIKE '10%'
由于某种原因,上面的查询将删除上面列表中的所有记录.我不确定在哪里遗漏了删除所有记录的内容.如果有人看到问题,请告诉我.谢谢.
将您的OR更改为AND
DELETE FROM MyRecords
WHERE Column_1 NOT LIKE '01%' AND Column_1 NOT LIKE '10%'
另外一个选项
DELETE FROM MyRecords
WHERE Left(Column_1,2)  NOT IN ('01','10')
(稍微可读但不会使用索引)