powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить простинький запрос
10 сообщений из 10, страница 1 из 1
Помогите составить простинький запрос
    #33044715
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from tbl where content like 'woRd'
Мне нужен такой-же запрос, но чтобы он возращал текст содержащий и Word и woRD и WoRd, т.е. не учитывал регистр!
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33044728
ap99ap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Издеваешься?

Если поле content имеет символьный тип - сравнения будут регистронезависимые.
Если нет - приводишь поле к символьному: CAST( content AS CHAR ).
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33044745
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не издеваюсь, а делаю поиск по сайту на пхп и майскл!
content типа text
Как я понимаю, будет так?
select * fromtbl where cast(content) like cast('word')???
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33044765
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT * from tovar WHERE CAST( title AS CHAR ) like '$word'
SQL ошибок нет, но ничего не возращается, а с PHP вручную, возращается 20 результатов!
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33044821
Never
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from table where upper(field) like '%WORD%'
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33044915
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, работает!
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33044978
ap99ap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат SELECT * from tovar WHERE CAST( title AS CHAR ) like '$word'
SQL ошибок нет, но ничего не возращается, а с PHP вручную, возращается 20 результатов!

Что у тебя за мускул?
Еще раз: все операции стравнения на текстовых полях не учитывают регистр.
Чтобы операции сравнения учитывали регистр, им нужно специально указывать 'binary' перед операцией.

А насчет "upper(txt) like 'SOME'", то глянув explain этого запроса ты увидишь, что мускул не использует индекс по полю txt. Это тебе не оракл, функциональных индексов тут нет.
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33044987
ap99ap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ap99apА насчет "upper(txt) like 'SOME'", то глянув explain этого запроса ты увидишь, что мускул не использует индекс по полю txt. Это тебе не оракл, функциональных индексов тут нет.

Кстати, то же касается и cast(txt as char).
Вывод: меняй тьип столбца. Он у тебя, видимо, имеет тиб blob.
Поменяй на text или varchar и все будет в порядке.
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33045055
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно text! А select * from table where upper(field) like '%WORD%' все хорошо пашет!
...
Рейтинг: 0 / 0
Помогите составить простинький запрос
    #33045217
ap99ap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РенатТочно text! А select * from table where upper(field) like '%WORD%' все хорошо пашет!

Странные дела.

Открываем консоль, пишем:
create table t ( t text, index ( t(30) ) );
insert into t (t) values ('text'), ('Text'), ('TEXT');
select * from t where t like 't%';

получаем, как и следовало ожидать,
+------+
| t |
+------+
| text |
| Text |
| TEXT |
+------+

Теперь
explain select * from t where t like 't%';
+-------+-------+---------------+------+---------+------+------+-------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+-------+-------+---------------+------+---------+------+------+-------------+
| t | range | t | t | 33 | NULL | 2 | Using where |
+-------+-------+---------------+------+---------+------+------+-------------+

Так что вот так...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить простинький запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]