individual
表:
+---------+----------+---------+------------+
| cust_id | fname | lname | birth_date |
+---------+----------+---------+------------+
| 1 | James | Hadley | 1977-04-22 |
| 2 | Susan | Tingley | 1973-08-15 |
| 3 | Frank | Tucker | 1963-02-06 |
| 4 | John | Hayward | 1971-12-22 |
| 5 | Charles | Frasier | 1976-08-25 |
| 6 | John | Spencer | 1967-09-14 |
| 7 | Margaret | Young | 1951-03-19 |
| 8 | George | Blake | 1982-07-01 |
| 9 | Richard | Farley | 1973-06-16 |
+---------+----------+---------+------------+
意图:在第二个位置找到姓氏包含a
的人,在e
之后的任何地方找到a
。
我的查询:
SELECT *
FROM individual
WHERE lname LIKE '_a%e';
返回一个空集。
根据我的理解% matches any number of characters, even zero characters.
除了解决这个问题外,我想了解为什么我的查询失败以及为什么James Hadley和Richard Farley没有被退回?
答案 0 :(得分:5)
您最后需要另一张通配符,或者它只匹配"中的名称结束;":
SELECT *
FROM individual
WHERE lname LIKE '_a%e%';