LIKE '%key%'
3 отговора
154 прегледа
LIKE '%key%'
Здравейте всички,
Получи се нещо много странно или поне за мен е странно. Изпълнявам една проста заявка:
SELECT name FROM books WHERE name LIKE '%кон%' AND active=1;
Първите записи който ми връща са на лице. Съдържат думата кон в указаното за търсене поле. Но изникват и други записи който не знам по каква причина се появяват. За горната заявка специално последния запис който ми връща е:
Професионално Java за мрежови приложения. В този запис не откривам нищо общо с '%кон%'. Та молбата ми е някой ако може да ми обясни как точно работи това. Това което аз знам е че търси съвпадения в указаните полета за тези символи + всички останали преди и след тях но тези 3 символа трябва да съществуват последователно. Версията на МъСЯЛ е: 4.0.15-standard
Break The UnBreakable
Получи се нещо много странно или поне за мен е странно. Изпълнявам една проста заявка:
SELECT name FROM books WHERE name LIKE '%кон%' AND active=1;
Първите записи който ми връща са на лице. Съдържат думата кон в указаното за търсене поле. Но изникват и други записи който не знам по каква причина се появяват. За горната заявка специално последния запис който ми връща е:
Професионално Java за мрежови приложения. В този запис не откривам нищо общо с '%кон%'. Та молбата ми е някой ако може да ми обясни как точно работи това. Това което аз знам е че търси съвпадения в указаните полета за тези символи + всички останали преди и след тях но тези 3 символа трябва да съществуват последователно. Версията на МъСЯЛ е: 4.0.15-standard
Break The UnBreakable
Re: LIKE '%key%'
пф...
не би трябвало... може да се бърка нещо заради кирилицата но... сякаш не ми се е случвало... ще ме караш сега да проверявам вече всеки резултат който ми се връща при подобна заявка :)
незнам наистина честно казано мисля че не ми се е случвало или поне не съм забелязал...
единственото нещо за което се сещам като причина е кирилицата... и най вероятно е от нея... друго невиждам както може да е...за съжаление...
не би трябвало... може да се бърка нещо заради кирилицата но... сякаш не ми се е случвало... ще ме караш сега да проверявам вече всеки резултат който ми се връща при подобна заявка :)
незнам наистина честно казано мисля че не ми се е случвало или поне не съм забелязал...
единственото нещо за което се сещам като причина е кирилицата... и най вероятно е от нея... друго невиждам както може да е...за съжаление...
Re: LIKE '%key%'
Между другото и аз така смятах. И вече си рехих проблема с ПХП код.
Но все пак ми е интересно да разбера защо се е получило така.
Ако някой знае няма да е лошо да разясни това онова :)
Break The UnBreakable
Но все пак ми е интересно да разбера защо се е получило така.
Ако някой знае няма да е лошо да разясни това онова :)
Break The UnBreakable
Re: LIKE '%key%'
Всичко идва от encoding-а на базата. Ако той е latin1, както е по default, то буквите "лно" и "кон" са едни и същи - латинските eei, но с различни ударения. Можеш и сам да се убедиш в това със следния HTML пример:
Професионално Java за мрежови приложения
кон
Пусни го в win1251 encoding, а след това в iso-8859-1.
Т.е. това, което трябва да оправиш е променливата default-character-set=win1251
Everything louder than everything else...
Професионално Java за мрежови приложения
кон
Пусни го в win1251 encoding, а след това в iso-8859-1.
Т.е. това, което трябва да оправиш е променливата default-character-set=win1251
Everything louder than everything else...
Редактирано от Dakota на