Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PostgreSQL 8.3] Rozmiar tablicy
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Heja,
jak w PostgreSQL 8.3 odczytać rozmiar tablicy? W 8.4 mamy już funkcję array_length(), ale w 8.3 jej nie ma. Albo inaczej: mając ciąg:
Kod
a/b/c

chciałbym pobrać "poziom zagłębienia" czyli ilość elementów po rozdzieleniu po "/" (w tym przypadku 3). Przeglądałem funkcje na stringach, ale również nie znalazłem niczego pomocnego.

Pozdrawiam,
pion

// Edit:
Na razie napisałem sobie taką funkcję, może komuś się przyda:
  1. CREATE OR REPLACE FUNCTION f_array_length(_array anyarray)
  2. RETURNS integer AS
  3. $BODY$DECLARE
  4. length INTEGER;
  5. BEGIN
  6. length := 0;
  7.  
  8. FOR i IN COALESCE(ARRAY_LOWER(_array, 1), 0)..COALESCE(ARRAY_UPPER(_array, 1), -1) LOOP
  9. length := length + 1;
  10. END LOOP;
  11.  
  12. RETURN length;
  13. END;$BODY$
  14. LANGUAGE 'plpgsql' VOLATILE
  15. COST 100;

Olałem drugi parametr bo nie jest mi potrzebny.

Ten post edytował phpion 26.05.2010, 08:08:21
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 16:19