Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » PeKa 06:38
 » cVas 06:33
 » NimnuL 06:15
 » NWN 05:07
 » Shark20 02:49

 Dzisiaj przeczytano
 41104 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

Postgres i regexp , AwerS 17/01/08 12:55
Witam mam problem z regexp'ami.

Przykładowe dane :
descr
"Build 2865 -O5 - BS54"
"Build 2865 - off_dbg - BS55"
"Build 2865 - trace - BS55"
"Build 2865 - off - BS55"

Do wyświetlenia tych wszystkich jest oki i sql wygląda:

select * from tabela where descr ~'Build \d*'

problem zaczyna sie przy wyszukaniu szczegółowemu:

"Build 2865 -O5 - BS54"

select * from tabela where descr ~'Build \d*'

zwraca wyniki i

select * from queue where descr ~'Build 2865 -O5 - BS\d*'

tez potrafi wyszukać wynik ale jeżeli zastąpię 2865 \d to wszystko
przestaje działa i nie mam bladego pojęcia :(

select * from tabela where descr ~'Build \d* -O5 - BS\d*'

Byłbym wdzięczny za sugestie.

AwerS

  1. nie próbujesz za bardzo przekombinować? , john565 17/01/08 13:11
    AFAIR w SQL 2000 po WHERE można było zastosowac klauzule LIKE, znaki wieloznaczności zastępował tam procent, a definiowanie wzoru dla danych jakie nas interesuja bylo o wiele mniej skomplikowanie od REGeX-a.

    Więc poszukaj może jest odpowiednik LIKE tak samo lub inaczej się nazywający w postgresie i rozwiąże on twoje problemy

    f*ck

    1. Like , AwerS 17/01/08 14:05
      nie spełnia moich oczekiwań dlatego korzystam z regexp'ow i są one mi potrzebne.

      AwerS

  2. spróbuj , kicior 17/01/08 14:33
    'Build [[:digit:]]* -O5 - BS[[:digit:]]*'
    albo
    'Build [0-9]* -O5 - BS[0-9]*'

    1. wielkie , AwerS 17/01/08 15:34
      dzieki ale to nie wyjasnie dlaczego sposoby z \ nie dziala a w dokumentacji 9.16 niby sie da

      Escape Description
      \d [[:digit:]]
      \s [[:space:]]
      \w [[:alnum:]_] (note underscore is included)
      \D [^[:digit:]]
      \S [^[:space:]]
      \W [^[:alnum:]_] (note underscore is included)

      AwerS

      1. nie mam postgresa pod ręką żeby sprawdzić , kicior 17/01/08 16:13
        a grep mi nie wyłapuje sekwencji \d, ale może o to chodzi:

        Note: Keep in mind that an escape's leading \ will need to be doubled when entering the pattern as an SQL string constant. For example:

        '123' ~ E'^\\d{3}' true

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL