如何查找具有与用户输入匹配的多个列值的记录?

时间:2016-05-17 19:09:39

标签: sql sql-like

我有一张表格,其中包含患者信息。

First_Name    Last_Name 
TEST          DO NOT USE
LEES          ESTATE
LEES          ROSA

因此,根据用户输入,我需要搜索First_Name或Last_Name是否与用户输入匹配。如果用户输入了多个单词,我应该拆分单词并根据First_Name和Last_Name列检查每个单词。

例如,如果用户输入是" D N U",我需要获得第一行。

如果用户输入是" ES"我需要得到所有三行。同样,如果用户输入是" SA ES"我需要获得第三行。

我试图使用LIKE运算符,但我认为应该有更多逻辑应用来实现我的需求。

1 个答案:

答案 0 :(得分:0)

我怀疑这样的事情会奏效:

where concat(last_name, ' ', first_name) like concat('%', replace($user_input, ' ', '%'), '%')

字符串连接的确切方法因数据库而异。