我想找到有特定名称的行。问题是某些行有前缀:"(OBSOLETE)"
或"(OBSOLETE) "
因此,对于John这个名字,我可以有三行:
John
(OBSOLETE)John
(OBSOLETE) John
我如何编写查询以便能够找到与该名称匹配的所有行,因为有时候会有前缀,我还想要那些?
答案 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
)如果存在索引,则有机会使用索引。