2015-04-23 2 views
0

Мне нужно вернуть полные имена всех, у кого фамилия начинается с M-Z. Верхний регистр - правильный случай.Базовый MySQL Выберите запрос

Select full_name 
from customer 
where lastname like '[M-Z]%' 
order by lastname; 

Что-то не так с моим синтаксисом на третьем, и я не могу понять, что это такое.

ответ

0

вы можете сделать это с регулярным выражением.

Select full_name from customer where lastname REGEXP '^[M-Z]' order by lastname; 
0
select full_name from customer where substring(lastname,1,1) >= 'M' and substring(lastname,1,1) <='Z' order by lastname; 

или

select full_name from customer where substring(lastname,1,1) between 'M' and 'Z' order by lastname; 
0

Ниже код будет работать так же:

SELECT fullname FROM customer 
WHERE lastname BETWEEN (
    SELECT lastname FROM customer 
    WHERE lastname LIKE 'M%' ORDER BY lastname ASC LIMIT 1) 
AND (
    SELECT lastname FROM customer 
    WHERE lastname LIKE 'Z%' ORDER BY lastname DESC LIMIT 1 
); 
Смежные вопросы