mysql zapytanie dla malych i duzych liter
Mak - 17-06-2007 00:16
mysql zapytanie dla malych i duzych liter
Witam
Mam problem z wyszukiwaniem miast w bazie kto? mo?e wpisa? np praga jak i Praga lub co gorsze PRAgA nie bardzo wiem jak poradzi? sobie z tym problemem
zapytanie przyk?adowe ...miasto like '%Praga%' ...
dzieki za pomoc bazy nie sa moja domena
chester - 17-06-2007 00:16
Mak pisze: > Witam > > Mam problem z wyszukiwaniem miast w bazie kto? mo?e wpisa? np praga jak i > Praga lub co gorsze PRAgA nie bardzo wiem jak poradzi? sobie z tym > problemem > > zapytanie przyk?adowe ...miasto like '%Praga%' ... > > dzieki za pomoc bazy nie sa moja domena
hm, a cos takiego:
select lower(miasto) as m from miejscowosci where m like '%praga%';
?
chester
Fenix - 17-06-2007 00:16
Mak pisze: > Witam > > Mam problem z wyszukiwaniem miast w bazie kto? mo?e wpisa? np praga jak i > Praga lub co gorsze PRAgA nie bardzo wiem jak poradzi? sobie z tym > problemem > > zapytanie przyk?adowe ...miasto like '%Praga%' ... > > dzieki za pomoc bazy nie sa moja domena
SELECT miasto FROM Miasto WHERE UPPER(miasto) LIKE UPPER('%Praga%')
Jacek Czapla - 17-06-2007 00:16
Mak napisa?(a): > Witam > > Mam problem z wyszukiwaniem miast w bazie kto? mo?e wpisa? np praga jak i > Praga lub co gorsze PRAgA nie bardzo wiem jak poradzi? sobie z tym > problemem > > zapytanie przyk?adowe ...miasto like '%Praga%' ... > > dzieki za pomoc bazy nie sa moja domena Masz odpowiedzi w SQL-u. Mo?na jeszcze ustawi? collation na case insensitive (chyba powinno dzia?a? nawet w MySQL-u :-))))).
Mak - 17-06-2007 00:16
Witam
Dzieki za pomoc chyba takie zapytania powinny dzia?a? najwy?ej b?d? wolniejsze.
pozdrawiam MAC
szaman - 17-06-2007 00:16
Mak pisze: > Witam > > Dzieki za pomoc chyba takie zapytania powinny dzia?a? najwy?ej b?d? > wolniejsze. > > pozdrawiam MAC Aby dzia?a?o w miar? szybko (LIKE nigdy szybki nie jest) powniene? w triggerze na insert i update wsadza? do jakiego? specjalnego pola np. UC_NAME w?a?nie efekt czego? na kszta?t UPPER(name). Potem oczywi??ie zak?adasz indeks na takie pole i masz ca?kiem zno?ne czasy szukania.
Zaznaczam, ?e nie znam mysql ale my?l? , ?e ma funkcj? upper a od niedawna ma pono? triggery wi?c ca?kiem mo?liwe ?e i LIKE u?yje indeksu. Wi?kszo?? baz to robi je?eli oczywi?cie chodzi o pocz?tkow? warto?? pola.
szaman - 17-06-2007 00:16
oczywi?cie nie SELECT miasto FROM Miasto WHERE UC_miasto LIKE UPPER('%Praga%')
tylko SELECT miasto FROM Miasto WHERE UC_miasto LIKE UPPER('Praga%')
Jest to zasadnicza ró?nica w wydajno?ci.
Ja jednak proponuj? po zastosowaniu tego co pisa?em w porzednim li?cie u?ywa? czego? takiego SELECT miasto FROM Miasto WHERE UC_miasto = 'PRAGA'
co powinno by? naprawd? wydajne.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
zanotowane.pldoc.pisz.plpdf.pisz.plfelgiuzywane.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|