0

我需要一个 select 语句来匹配包含全名的字段中的部分记录。

如果记录包含 john,它将显示带有 john、johnson、johnsmith 等的记录。john 可以是名称中的任何位置

4

1 回答 1

1
select  
  name_field  
from  
  my_table  
where  
  name_field like '%john%'

更新:对于这个问题

您的意思是要问“如何查找,如果 row1 的 name_field 值与从其他 row2 到 rowN 的相同字段值完全或部分匹配?”

你回答“这正是我需要的”。

以下解决方案可能对您有所帮助:

select  
 t.name_field_id, t.name_field as 'name_value',  
 d.name_field_id as 'id_of_dup', d.name_field as 'dup_in'  
from  
 my_table t,  
 my_table d  
where  
 d.name_field != t.name_field  
 and d.name_field like concat( '%', t.name_field, '%'  )  
order by name_value, dup_in;
于 2012-05-31T08:04:04.657 回答