我有这张桌子
**
--------------------------------------------------
| id | fname | lname | age
--------------------------------------------------
| 1 | John | Smith | 20
-------------------------------------------------
| 2 | John Craig | Smith | 20
--------------------------------------------------
| 3 | John Shaw | Smith | 20
--------------------------------------------------
MYSQL QUERY:
select id from person where concat(fname, lname) LIKE = '%johnsmith%'
- 这可以
选择ID 但如果姓氏中有两个单词如下:
select id from person where concat(fname, lname) LIKE = '%johncraigsmith%'
它不会显示任何结果。
为什么呢? 你能救我吗?
答案 0 :(得分:2)
因为john
和craig
之间有空格。那会起作用
select id from person
where replace(concat(fname, lname),' ','') LIKE = '%johncraigsmith%'
但是在性能方面这很糟糕BTW。更好的是
select id from person
where lname = 'smith'
and fname = 'john craig'