[SQL] Wycinanie fragmentu stringa


(niesuszek) #1

Witam. W jaki sposób za pomocą zapytania SQL mogę wyciąć z takich ciągów znaków:

"array (
 'nazwisko' => 'Ceglarski',
)"

"array (
 'nazwisko' => 'test',
 'nr_ew...
)"

same nazwiska ? Oczywiście uwzględniając, że inne rekordy mają różną długość stringa.

 

Pozdrawiam


(Grzelix) #2

Po pierwsze dlaczego chciałbyś używać sql do wyciągania takich danych. W bazie powinno się trzymać uporządkowane dane a nie takie stworki potworki jak powyższe stringi.

 

Po drugie, na jakim silniku bazodanowym pracujesz. Jest coś takiego jak wyrażenie regularne również w bazach danych (choć dużo od niego bym nie oczekiwał dla tak skomplikowanych struktur) ale każdy silnik bazodanowy inaczej implemnetuję tego typu procedury.


(niesuszek) #3

 

Funkcjonalność wymagała takiego zapisu rekordu w kolumnie.

 

 

Oracle

 

 

Poradziłem sobie pisząc oddzielną funkcję w PHP, która najpierw usuwała wszystko do momentu wystąpienia " ‘nazwisko’ => ’ ", następnie usuwała tę frazę po czym zliczała ilość znaków do momentu wystąpienia " ’ " i ucinała za pomocą substr to co jest poza.