[MS SQL] Dlaczego PATINDEX szwankuje ??
Grzegorz - 29-07-2006 01:06
[MS SQL] Dlaczego PATINDEX szwankuje ??
Cześć
Czy ktoś może podpowiedzieć dlaczego w poniższym przykładzie instrukcja PATINDEX nie działa poprawnie i co zrobić, żeby zadziałała ?
Z góry dzieki Grzegorz
Następująca instrukcja ...
select patindex('%]%','W tym zdaniu znak "]" występuje')
.... zwraca liczbę 20, co jest jak najbardziej poprawne.
Ale już następująca instrukcja ...
select patindex('%[%','W tym zdaniu znak "[" występuje')
.... zwraca 0, a przecież znak "[" występuje tu również na 20 pozycji.
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
alwik - 29-07-2006 01:06
> > select patindex('%[%','W tym zdaniu znak "[" występuje') > uzyj select patindex('%[[]%','W tym zdaniu znak "[" występuje')
Alwik
Grzegorz - 29-07-2006 01:07
> select patindex('%[[]%','W tym zdaniu znak "[" występuje')
Rzeczywiście działa. Dzięki. Próbuję jednakże znaleźć jakiś sens i logikę tej konstrukcji. Przyjmuję, że znak "[" jest znakiem specjalnym, który musi być umieszczony wewnątrz nawiasów kwadratowych [ i ], co daje konstrukcję [[]. Dlaczego zatem nie zadziała poniższa instrukcja
select patindex('%[]]%','W tym zdaniu znak "]" występuje')
Pozdr. Grzegorz
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Jacek Stawicki - 30-07-2006 00:44
Użytkownik "Grzegorz" <gmajewski@pf.pl> napisał w wiadomości news:030f.00000040.44c8bd80@newsgate.onet.pl... >> select patindex('%[[]%','W tym zdaniu znak "[" występuje') > > Rzeczywiście działa. Dzięki. Próbuję jednakże znaleźć jakiś sens i logikę > tej > konstrukcji. > Przyjmuję, że znak "[" jest znakiem specjalnym, który musi być umieszczony > wewnątrz nawiasów kwadratowych [ i ], co daje konstrukcję [[]. > Dlaczego zatem nie zadziała poniższa instrukcja > > select patindex('%[]]%','W tym zdaniu znak "]" występuje')
Znak ] jest traktowany jak każdy inny znak o ile wcześniej nie została "otwarta" instrukcja [] rozpoczynająca się od znaku [ Podejrzewam że instrukcja [] (bez żadnego znaku pomiędzy [ oraz ] ) jest niepoprawnym użyciem wzorca i dlatego nic nie jest zwracane.
-- JS BRE Bank Dev Team, Poland
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?=
=?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
=?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?=
[Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?=
=?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
[oracle] - Oracle SQL Developer - co to jest SID?
=?ISO-8859-2?Q?[Oracle]_Wywo=B3anie_skryptu_sh_z_PL/SQL-a=3F=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plczterowers.keep.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 |
|