如何在where子句-SQLServer中使用Like时从数据库中删除行
我有一个包含大量行的数据库表。现在,该表的主键在其几行中有特殊字符。我想用这个命令删除它们如何在where子句-SQLServer中使用Like时从数据库中删除行,sql,sql-server,sql-delete,Sql,Sql Server,Sql Delete,我有一个包含大量行的数据库表。现在,该表的主键在其几行中有特殊字符。我想用这个命令删除它们 DELETE FROM my_table WHERE symbol LIKE '%$%' OR symbol LIKE '%^%' OR symbol LIKE '%[%' OR symbol LIKE '%*%' OR symbol LIKE '%&%' OR symbol LIKE '%\%%' ESCAPE '\' 但是这个查询需要很多时间 是否有其他方法可以
DELETE FROM my_table
WHERE symbol LIKE '%$%'
OR symbol LIKE '%^%'
OR symbol LIKE '%[%'
OR symbol LIKE '%*%'
OR symbol LIKE '%&%'
OR symbol LIKE '%\%%' ESCAPE '\'
但是这个查询需要很多时间
是否有其他方法可以使此查询更快、更高效?如果您需要有关我的表或数据库的更多详细信息,请告诉我。谢谢这会有一点帮助:
WHERE symbol like '%[$^\[*&\%]%'
默认转义字符是反斜杠,因此escape'\'
是多余的
但是,由于您的查询必须进行完整的表扫描,这会有所帮助,但速度仍然很慢