Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
84 / 84 / 42
Регистрация: 25.01.2010
Сообщений: 386
1

Выборка по заглавным буквам

18.10.2015, 17:05. Показов 2282. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть таблица с полями id, name. Подскажите, пожалуйста, как сделать выборку по заглавным буквам:
Запрос "hp":

Hewlett Packard,
HP
Techpoint
HPC

Сейчас исполльзую вот такой запрос:
SQL
1
SELECT * FROM brand WHERE name LIKE %$brandName% LIMIT 5
но он, естественно, выдает только
HP
Techpoint
HPC
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2015, 17:05
Ответы с готовыми решениями:

Как разделить слипшийся текст в ячейке по Заглавным буквам и Числам
Как разделить слипшийся текст в ячейке по Заглавным буквам и Числам? При выгрузке из одной...

Выборка по трём последним буквам
Как сделать выборку из списка по трём последним буквам в фамилии? Помогите пожалуйста!

Сортировка по заглавным
Прошу помощи. Видел кучу похожих тем, но не понял вообще ничего. Есть столбец, в котором 7...

односвязный список с заглавным звеном
Пусть L - односвязный список с заглавным звеном Написать процедуры добавления и удаления: - в...

2
59 / 59 / 46
Регистрация: 01.03.2015
Сообщений: 179
18.10.2015, 21:11 2
SQL
1
WHERE (name LIKE 'HP') OR (name LIKE 'H% P%')
А для того, чтобы оператор LIKE стал чувствителен к регистру, нужно изменить collation таблицы(на utf8_bin, например).
1
84 / 84 / 42
Регистрация: 25.01.2010
Сообщений: 386
22.10.2015, 01:11  [ТС] 3
Спасибо за ответ. Немного не то, что я хотел, но навело на правильную мысль:
PHP
1
2
3
4
5
6
7
8
9
10
$sqlQuery = "SELECT * FROM brand WHERE name REGEXP :brand LIMIT 5";
    $stmt = $db->prepare($sqlQuery);
 
    if (strlen($brandName) == 2) {
        $stmt->bindValue(":brand" , "(^$brandName[0].*[ &_-]+$brandName[1].*)|(.*$brandName.*)", PDO::PARAM_STR);
    } else {
        $stmt->bindValue(":brand" , ".*$brandName.*", PDO::PARAM_STR);
    }
 
    $stmt->execute();
0
22.10.2015, 01:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2015, 01:11
Помогаю со студенческими работами здесь

Односвязный линейный список с заглавным звеном
В односвязном линейном списке с заглавным звеном (если есть два указателя Head, Tail), можно ли...

Сделать заглавным средний символ слова
:gbye:Уважаемые, нужно сделать заглавными средний символ слова, если длина слова нечетная; и...

Циклический двунаправленный список с заглавным звеном
Вот такое вот лихое задания. Пусть L обозначает кольцевой (циклический) двунаправленный список с...

Сделать заглавным средний символ слова
Надо написать программу, которая будет принимать с консоли строку и символ. Необходимо оставить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru