|
|
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
Издеваешься? Если поле content имеет символьный тип - сравнения будут регистронезависимые. Если нет - приводишь поле к символьному: CAST( content AS CHAR ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 11:19 |
|
||
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
Не издеваюсь, а делаю поиск по сайту на пхп и майскл! content типа text Как я понимаю, будет так? select * fromtbl where cast(content) like cast('word')??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 12:19 |
|
||
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
SELECT * from tovar WHERE CAST( title AS CHAR ) like '$word' SQL ошибок нет, но ничего не возращается, а с PHP вручную, возращается 20 результатов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 12:52 |
|
||
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
select * from table where upper(field) like '%WORD%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 13:53 |
|
||
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 16:06 |
|
||
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
Ренат SELECT * from tovar WHERE CAST( title AS CHAR ) like '$word' SQL ошибок нет, но ничего не возращается, а с PHP вручную, возращается 20 результатов! Что у тебя за мускул? Еще раз: все операции стравнения на текстовых полях не учитывают регистр. Чтобы операции сравнения учитывали регистр, им нужно специально указывать 'binary' перед операцией. А насчет "upper(txt) like 'SOME'", то глянув explain этого запроса ты увидишь, что мускул не использует индекс по полю txt. Это тебе не оракл, функциональных индексов тут нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 17:41 |
|
||
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
ap99apА насчет "upper(txt) like 'SOME'", то глянув explain этого запроса ты увидишь, что мускул не использует индекс по полю txt. Это тебе не оракл, функциональных индексов тут нет. Кстати, то же касается и cast(txt as char). Вывод: меняй тьип столбца. Он у тебя, видимо, имеет тиб blob. Поменяй на text или varchar и все будет в порядке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 17:52 |
|
||
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 19:23 |
|
||
|
Помогите составить простинький запрос
|
|||
|---|---|---|---|
|
#18+
РенатТочно 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 | +-------+-------+---------------+------+---------+------+------+-------------+ Так что вот так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 00:06 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33044728&tid=1854090]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 489ms |

| 0 / 0 |
