SQL查找列为LIKE的行

时间:2016-02-05 13:45:16

标签: mysql sql

我想找到有特定名称的行。问题是某些行有前缀:"(OBSOLETE)""(OBSOLETE) "

因此,对于John这个名字,我可以有三行:

John
(OBSOLETE)John
(OBSOLETE) John

我如何编写查询以便能够找到与该名称匹配的所有行,因为有时候会有前缀,我还想要那些?

2 个答案:

答案 0 :(得分:1)

您是否可以在LIKE语句中使用SQL通配符?

SELECT * FROM Customers WHERE Name LIKE '%John';

答案 1 :(得分:0)

不能与BillyJohn匹配:

select
  *
  from T
  where ltrim(replace(fld, '(OBSOLETE)', '')) = 'John'

或者简单地说:

  where fld IN ('John', '(OBSOLETE) John', '(OBSOLETE)John')

与上述不同(或带有通配符的LIKE)如果存在索引,则有机会使用索引。