text: Diskuse JPW: Vyhledání v db výrazu bez ohledu na velká/malá písmena (case
  Vyhledání v db výrazu bez ohledu na velká/malá písmena (case
  #1 · Zasláno: 24. 1. 2010, 00:42:07
  Nějak se pořád nemůžu dobrat správné syntaxe: K regulárnímu výrazu v příkazu
  SELECT * FROM tabulka WHERE Prijmeni REGEXP 'nov+'
  potřebuju přidat identifikátor "i" (ignore case), který způsobí (má způsobit?) nerozlišování malých/velkých písmen, tak, abych jako výsledek dostal například i "Novák". Poradíte?
  #2 · Zasláno: 24. 1. 2010, 10:47:46 · Upravil/a: fajzen
  stačí dať tabuľke kódovanie, ktoré končí _ci (case insensitive)
  #3 · Zasláno: 24. 1. 2010, 10:57:18
  sorry, tak nie... podľa manuálu by mal byť REGEXP case insensitive...
  #4 · Zasláno: 24. 1. 2010, 16:16:42
  Case insensitive je REGEXP s identifikátorem "i", defaultně je case sensitive (podle všech dostupných informací). Ale zaboha nemůžu nikde najít syntaxi...
  #5 · Zasláno: 24. 1. 2010, 16:51:05 · Upravil/a: fajzen
  Citujem dokumentáciu: REGEXP is not case sensitive, except when used with binary strings. (Odkaz)
  ale má problémy s písmenami s diakritikou... to by sa v tomto prípade dalo vyriešiť použitím kódovania s koncovkou _ci (ako som spomínal) a tvarom query
  SELECT * FROM tabulka WHERE Prijmeni LIKE 'NOVÁ%'
  (vyberie aj Novák)
  #6 · Zasláno: 24. 1. 2010, 17:11:27
  Řešení jsem našel, ale asi by to šlo udělat lépe.
  SELECT * FROM tabulka WHERE LOWER(Prijmeni) LIKE 'nová%'
  #7 · Zasláno: 24. 1. 2010, 23:33:42
  Stydím se, že mně to nenapadlo ;-(
  Jinak s diakritikou není problém, na to už je na webu spousta řešení, nebo to jde třeba v php funkcí StrTr. Ale stejně by mně zajímalo, jak je to u REGEXP s tím identifikátorem "i", o kterém se letmo zmiňuje každý manuál....
  #8 · Zasláno: 25. 1. 2010, 06:42:16
  "Ale stejně by mně zajímalo, jak je to u REGEXP s tím identifikátorem "i", o kterém se letmo zmiňuje každý manuál...."
  můžeš zmínit nějaký manuál mySQL, který se zmiňuje o modifikátoru "i"?
  #9 · Zasláno: 25. 1. 2010, 09:37:45
  Namátkou třeba tady:
  http://interval.cz/clanky/regularni-vyrazy-a-javascript-metody-search-a-replace/
  #10 · Zasláno: 25. 1. 2010, 09:56:39
  "Namátkou třeba tady:"
  když se pozorně podíváš na [#8], zmiňoval jsem manuál mySQL (protože o tom se tady celou dobu bavíme)
  ani jeden z uvedených článků mySQL nezmiňuje
  naopak v [#5] zmiňuje fajzen oficiální dokumentaci mySQL, ve které se píše již dříve uvedené - že regulární výrazy v mySQL jsou case insensitive
  na stejné stránce se vyskytuje i
  Operátory REGEXP a RLINK pracují s jednotlivými bajty, čiliže nejsou bezpečné z hlediska vícebajtových kódování a mohou s vícebajtovými kódováními přinést neočekávané výsledky. Navíc tyto operátory porovnávají znaky podle hodnot jednotlivých bajtů, a tedy znaky s diakritikou nemusí být rozpoznány jako shodné, i když podle použitého porovnávání (collation) shodné jsou.