Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Oracle _ Problem z wyrażeniami regularnymi sql oracle

Napisany przez: tomsu 1.10.2014, 19:24:17

Cze¶ć, piszę gdyż natkn±łem się na dziwny problem, z którym nie mogę sobie poradzić. Otóż napisałem kod (w skrócie napiszę tylko problematyczny fragment) :
SELECT * FROM tabela a
WHERE REGEXP_LIKE (
UPPER ( TRANSLATE ( a.nazwa1, 'ˇ±ĆćĘꣳŃńÓ󦶯ż¬Ľ-' ,'AaCcEeLlNnOoSsZzZz ') ),
UPPER ( TRANSLATE ( SUBSTR ( a.nazwa2, 0, INSTR ( a.nazwa2, ' ') -1 ),
'ˇ±ĆćĘꣳŃńÓ󦶯ż¬Ľ-' ,
'AaCcEeLlNnOoSsZzZz ') ) )
)

Ogólnie mój kod (cały, złożony z tych powyższych składni) ma za zadanie sprawdzenie, czy w nazwa1 znajduje się pierwsze słowo z nazwa2 i drugie słowo z nazwa2. Atrybuty nazwa1 i nazwa2 s± napisami składaj±cymi się z różnych znaków. Dla lepszego przeszukiwania pozbywam się polskich znaków oraz sprowadzam znaki do jednej wielko¶ci.
Wyskakuje mi bł±d "ORA-12725 niezrównoważone nawiasy w wyrażeniu regularnym".
Sprawdziłem wielokrotnie, z nawiasami wszystko w porz±dku. Dodam, że dla małej bazy zapytanie ładnie ¶miga, problem pojawia się jak przepuszczam j± przez znacznie większ±. Poza tym zapytanie wypisuje dane, a jak chce wypisać więcej lub dorzucam DISTINCT'a po chwili wypisywania wywala bł±d. Z tego względu podejrzewam, że jaka¶ krotka psuje zapytanie. Czy kto¶ wie jak rozwi±zać mój problem? Niestety mi już pomysły się skończyły i nie wiem co jest Ľle ...

Napisany przez: mmmmmmm 1.10.2014, 21:07:21

S±dzę, że to jenak baza ma rację... Nawiasów ( masz 7, a nawiasów ) masz 8.

Napisany przez: tomsu 1.10.2014, 21:38:42

To na pewno nie jest problem z nawiasami, gdyż je wielokrotnie sprawdzałem, a tutaj tylko Ľle przepisałem. Poza tym fakt, że na małej bazie przechodziło bez problemu ¶wiadczy, że jest z tym ok. Podejrzewam, że może co¶ nie tak ze znakami w analizowanych danych? Pojedyńcze apostofy mog± psuć?

Napisany przez: trueblue 2.10.2014, 08:58:36

Drugi argument dla REGEXP_LIKE to wyrażenie regularne, u Ciebie tak nie jest.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)