如何使用两个 LIKE 条件?
How to use two LIKE conditions?
我需要找到名字中有 A 和 M 但姓氏中没有 a 和 m 的学生。这是我的查询,但出于某种原因,它一直显示有 M 的姓氏……我做错了什么?
SELECT (firstname || ' ' || lastname) AS "FullName"
FROM A5
WHERE Lower(FirstName) LIKE '%a%m%'
AND Lower(LastName) NOT LIKE '%a%m%'
ORDER BY LastName,
FirstName
WHERE
子句应为:
WHERE (Lower(FirstName) LIKE '%a%m%'
OR Lower(FirstName) LIKE '%m%a%')
AND Lower(LastName) NOT LIKE '%a%'
AND Lower(LastName) NOT LIKE '%m%'
您只包括 FirstName 有一个 后跟 一个 m 的情况。同样,您只排除了 LastName 同时具有 a 和 m 的情况,其中 a 在 m 之前。
SELECT (firstname || ' ' || lastname) AS "FullName"
FROM A5
WHERE (lower(firstname) like '%a%' and lower(firstname) like '%m%') and ((lower(lastname) like '%a%' and lower(lastname) not like '%m%') or (lower(lastname) not like '%a%' and lower(lastname) like '%m%') )
ORDER BY LastName,FirstName
试试这个。
我需要找到名字中有 A 和 M 但姓氏中没有 a 和 m 的学生。这是我的查询,但出于某种原因,它一直显示有 M 的姓氏……我做错了什么?
SELECT (firstname || ' ' || lastname) AS "FullName"
FROM A5
WHERE Lower(FirstName) LIKE '%a%m%'
AND Lower(LastName) NOT LIKE '%a%m%'
ORDER BY LastName,
FirstName
WHERE
子句应为:
WHERE (Lower(FirstName) LIKE '%a%m%'
OR Lower(FirstName) LIKE '%m%a%')
AND Lower(LastName) NOT LIKE '%a%'
AND Lower(LastName) NOT LIKE '%m%'
您只包括 FirstName 有一个 后跟 一个 m 的情况。同样,您只排除了 LastName 同时具有 a 和 m 的情况,其中 a 在 m 之前。
SELECT (firstname || ' ' || lastname) AS "FullName"
FROM A5
WHERE (lower(firstname) like '%a%' and lower(firstname) like '%m%') and ((lower(lastname) like '%a%' and lower(lastname) not like '%m%') or (lower(lastname) not like '%a%' and lower(lastname) like '%m%') )
ORDER BY LastName,FirstName
试试这个。