Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z REGEXP_LIKE
Forum PHP.pl > Forum > Bazy danych > Oracle
Blackhole
Witam.
Mam tabelę w której szukam wierszy po kolumnie VARCHAR2. Zapytanie
  1. SELECT * FROM tabela WHERE REGEXP_LIKE(kolumna, '[^[:alnum:]]strategi[:alnum:]*[^[:alnum:]]', 'i');
zwraca jakieś rekordy.
Gdy zapytam inaczej:
  1. SELECT * FROM tabela WHERE REGEXP_LIKE(kolumna, '[^[:alnum:]]strateg[:alnum:]*[^[:alnum:]]', 'i');
wyników brak. Nie mam pojęcia czemu ohno-smiley.gif
Ktoś mnie nakieruje na rozwiązanie?
mar1aczi
A tak:
  1. SELECT * FROM tabela WHERE REGEXP_LIKE(kolumna, '([^[:alnum:]])*(strateg){1}([[:alnum:]])*', 'i');

Jakie ciągi chcesz odszukać?
Trochę literatury: http://docs.oracle.com/cd/B12037_01/server...001.htm#i690819
http://psoug.org/snippet/Regular-Expressio...mples-1_857.htm
Blackhole
Chciałem znaleźć wszystkie, które zawierają wyraz rozpoczynający się od "strateg". Twoje zapytanie zaprowadziło mnie na rozwiązanie w postaci:
  1. SELECT * FROM tabela WHERE REGEXP_LIKE(kolumna, '[^[:alnum:]]strateg[[:alnum:]]*[^[:alnum:]]', 'i');
Dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.