Asutosha Ответов: 5

SQL-запрос для выбора имени сотрудника начинается с диапазона от А до е.


уважаемый господин,

У меня есть приложение, в котором я должен отобразить имя сотрудника в диапазоне like .

A-E | F-J | K-O | P-T | U-Z

Мне нужен SQL запрос чтобы выбрать тех сотрудников, чьи имена варьируются между Один к   Е и так далее.


Когда пользователь нажимает на ссылку А-Е , он должен отображать все имена сотрудников, начиная с A до E.


Заранее спасибо.

С уважением
Асутоша

5 Ответов

Рейтинг:
36

E.F. Nijboer

Вы могли бы использовать для этого лайк. Попробуйте что-то вроде этого запроса:
T-SQL:

SELECT Name FROM Employees WHERE Name LIKE '[A-E]%'


MySQL:
SELECT Name FROM Employees WHERE Name REGEXP '^[A-E].*$'


Удачи вам!


P.Salini

Мои 5 :)
В этой ситуации как оператор является лучшим вариантом

[no name]

Мои 5!

Mehdi Gholam

Никогда не думал, что ты можешь это сделать, мой 5-й!

Asutosha

Этот вышеприведенный запрос работает в SQL Server, но не в MYSQL. можете ли вы дать мне точный запрос для MYSQL ?

Спасибо

E.F. Nijboer

С MySQL вы можете использовать REGEX (или RLIKE) для этого. Я обновил ответ с помощью запроса MySQL, который делает то же самое.

Рейтинг:
2

Yogesh Pednekar

Вы должны попробовать это.

SELECT Name FROM Employees WHERE Name LIKE '[A-E][F-J][K-O][P-T][U-Z]%'

Надеюсь, это вам поможет.

Йогеш.


André Kraak

НЕ КРИЧАТЬ. Когда вы используете все заглавные буквы, это воспринимается как крик в интернете и считается грубым. В следующий раз при публикации, пожалуйста, используйте правильную заглавную букву.

Member 13025266

Если я хочу, чтобы имя сотрудника начиналось только с заглавной буквы "А", то что делать в SQL?

Рейтинг:
1

Mario Majčica

Что плохого в простом BETWEEN?

SELECT name FROM test WHERE name BETWEEN 'a' AND 'e'


Где name это имя столбца и test это имя таблицы.

Это даже легко параметризовать для возможного SP.

Ура!


Mehdi Gholam

Я не думаю, что это сработает.

Mario Majčica

Попробуй! ;)

Mehdi Gholam

Я исправляюсь!
Очень интересно, я никогда этого не знал!
мои 5!

Mario Majčica

Иногда простые вещи могут удивить! Я люблю простоту! ;)

sravani.v

Я не знаю MySql.У меня есть небольшое сомнение..Возвращает ли этот запрос имя, начинающееся с буквы "е".
Пример Эсвара.

Mario Majčica

Я не тестировал его на MySQL, но MySQL был указан только после того, как я опубликовал ответ. На MS SQL это работает.

sravani.v

В Sql server 2005 я не получаю имен, которые начинаются с буквы "е"

Angel2015

Спасибо вам за ваш пост.

Рейтинг:
1

RaisKazi

Попробуйте выполнить следующий запрос.

SELECT *
FROM Employee
WHERE Name LIKE '[A-E]%';

Вы можете написать хранимую процедуру, которая примет диапазон, а затем изменит вышеуказанный запрос на основе значений параметров хранимой процедуры.

Для получения дополнительной информации ознакомьтесь с приведенными ниже ссылками.
http://msdn.microsoft.com/en-us/library/ms179859.aspx
http://msdn.microsoft.com/en-us/library/ms187489.aspx


Asutosha

Этот вышеприведенный запрос работает в SQL Server, но не в MYSQL. можете ли вы дать мне точный запрос для MYSQL ?

Rohini Palanichamy

Спасибо Райскази .Я получил свой запрос по вашей ссылке.

Рейтинг:
0

OriginalGriff

Попробуй:

SELECT * FROM myTable
WHERE SUBSTRING([employeeName], 1, 1) >= 'A' AND SUBSTRING([employeeName], 1, 1) <= 'E'
(Обратите внимание, что подстрока SQL основана на единице, а не на нуле)


Asutosha

Не работает в MYSQL.

Пожалуйста, можете ли вы предоставить мне MYSQL.