我是一个初学者在SQL和我使用MySQL数据库。我有一张table叫“员工”。如何只检索那些第三个字母或第三个字母之后的任何字母是“r”的员工?我必须使用LIKE操作符。我所尝试的:
SELECT * FROM employees WHERE last_name LIKE "__r%"
,但我认为它只检索那些姓氏中第三个字母为“r”的员工。
j7dteeu81#
select * from customerWHERE last_name LIKE "__%r%"
select * from customer
WHERE last_name LIKE "__%r%"
lnvxswe22#
快到了您只需要在r之前再添加一个字符串(字符串也可以匹配0个字符)。
r
SELECT * FROM employees WHERE last_name LIKE '__%r%'
也可以使用Substring():
Substring()
SELECT * FROM employees WHERE Substring(last_name, 3) LIKE '%r%'
无论哪种方式,性能通常都不会很好,因为您必须评估表中的每一行(即使您只需要几行),索引也不会有很大帮助。
2条答案
按热度按时间j7dteeu81#
lnvxswe22#
快到了您只需要在
r
之前再添加一个字符串(字符串也可以匹配0个字符)。也可以使用
Substring()
:无论哪种方式,性能通常都不会很好,因为您必须评估表中的每一行(即使您只需要几行),索引也不会有很大帮助。