2015-01-17 5 views
0

У меня есть следующая таблица:SQL SELECT FROM WHERE FirstName> "Мария"

First Name 
Bryce 
Marcellin 
Caroline 
Kerry 
Roberto 
Mary 
Carol 
Warren 
Bonnie 
Terry 
Louis 
Michelle 
Bobby 
Tony 
Vic 
Frank 
Roberto 
Jose 
Doug 
Brian 
William 
Aiden 
Davis 

Что именно делает ВЫБЕРИТЕ ПгвЬЫате от членов ГДЕ FirstName> "Мария"; искать ? в частности, утверждение WHERE. Он возвращает имена:

Роберто, Мэри Уоррен, Терри, Мишель, Тони, Вик, Роберто и Уильяма

Я думал, что искал FirstName строк, которые длиннее 5 символов, но это не так как Тони и Вик также возвращаются. Мне жаль, что я полный любитель с SQL, и я пытаюсь выяснить все перегибы и странные биты, так голые со мной.

+0

Вы хотите точно 'Maria' –

+0

Название больше, чем Maria ... wat ?? wat u точно хочу ... объяснить простым языком – Umair

+0

Sql server или Mysql выбрать один –

ответ

1

Он ищет термины, которые находятся в алфавитном порядке ПОСЛЕ «Мария».

Например, если вы искали SELECT name FROM table WHERE first_name >= 'James', вы получили бы результаты «Джеймс» и «Джим», так как в алфавитном порядке эти два находятся друг за другом. Причина, по которой возвращаются Вик, Роберт, Уильям и т. Д., Потому что они в алфавитном порядке после значения «Мария»

+1

Да, это то, что я имел в виду, я только что понял это прямо сейчас. Спасибо !! –

0

Длина строки Марии 5 символов, поэтому используйте функцию длины, чтобы найти length отдельных имен и проверьте, чтобы она была больше чем 5, как показано ниже:

SELECT FirstName 
FROM Members 
WHERE length(FirstName) > 5; 

Или, если ваше имя будет динамичными, вы можете использовать как:

SELECT FirstName 
FROM Members 
WHERE length(FirstName) > length("Maria"); 

Если вам нужно все имена, которые приходят после того, как Мария и длиной более 5 затем использовать :

SELECT FirstName 
FROM Members 
WHERE FirstName > 'Maria'; 
AND length(FirstName) > length('Maria');