Chcę pobrać z pola pierwszych 30 wyrazów i dodać na końcu kropki... W MySQL'u robiłem tak:
SELECT CONCAT(SUBSTRING_INDEX(pole, ' ', 30), '...') AS dane FROM...
Przerzuciłem manual postgresa, pogooglowałem, próbowałem coś samemu stworzyć... ale jakoś nic sensownego mi nie wychodzi... Najbliższe rozwiązanie to użycie SUBSTR, ale to może mi np. pobrać pierwszych 300 znaków, nie patrząc, czy zakończy na spacji (wyrazie)...
Mogę to oczywiście zrobić w php, ale może jest to możliwe na poziomie bazy danych...
Z góry dzięki za wszelką pomoc!
PS. Prawdopodobnie da się to zrobić przy pomocy odpowiedniego wyrażenia regularnego w SUBSTR('ble ble ble itd', 'tu_wyrazenie'), ale specjalnie też mi nie wychodzi

----UPDATE
Mam zapytanie, ale dziwnie działające...
SELECT substr(pole, 0, strpos(pole, split_part(pole, ' ', 5))) || '...' AS dane
3 parametr w split_part() to kolejna spacja, do której ciąg jest obcinany...
I teraz... Różnie to działa



Powinno IMHO być wszystko tak jak trzeba, przesiedziałem kupę czasu z manualem/googlami, żeby sprawdzić, czy może robię coś nie tak... Znalazłem tylko coś o bugu(?) w split_part, ale nie rozumiem tam ostatniego postu (wyjaśnienia?)...
Dzięki za każde wieści na ten temat...
pozdr.