连接2个或更多列并在LIKE谓词中使用?

时间:2013-03-27 20:17:20

标签: sql oracle10g

目前我的查询看起来像这样:

select * from person
where person.firstname LIKE '%firstname_fragment%' OR 
      person.lastname  LIKE '%lastname_fragment%'

如何将这两列连接到一个SQL WHERE谓词中,而这样做呢?

person.firstname + person.lastname LIKE '%firstname_fragment
lastname_fragment%'

1 个答案:

答案 0 :(得分:1)

不在Oracle中。那将是SQL Server语法。你想要:

where person.firstname || ' ' || person.lastname LIKE '%firstname_fragment lastname_fragment%'

我添加了空格,因为你在like的模式参数中有一个空格。

还有一条评论。这与您在问题中的查询不同。等效查询更像是:

select * from person
where person.firstname LIKE '%firstname_fragment%' AND
      person.lastname  LIKE '%lastname_fragment%'