powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как узнать сколько элементов в массиве?
8 сообщений из 8, страница 1 из 1
Как узнать сколько элементов в массиве?
    #33174820
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно в ХП пройтись по массиву.
...
Рейтинг: 0 / 0
Как узнать сколько элементов в массиве?
    #33174920
ZemA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот посмотри
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
CREATE OR REPLACE FUNCTION delete_element("varchar", _varchar)
  RETURNS _varchar AS
'
declare
  i integer;
  j integer;
  dpos integer;
  epos integer;
  count integer;
  dims varchar;
  element ALIAS FOR $1;
  array_in ALIAS FOR $2;
  array_out varchar[];
  null_array constant varchar[] := array[\'\'];
begin
  dims := array_dims(array_in);     %af_src_comm_0 
  dpos := position(\':\' in dims)+1;  %af_src_comm_1
  epos := position(\']\' in dims);    %af_src_comm_2
  count := substring(dims from dpos for epos-dpos); %af_src_comm_3
  
  j := 0;
  array_out := null_array;
  FOR i IN 1..count LOOP
    if array_in[i] <> element then
      j := j+1;
      if j = 1 then
        array_out[j] := array_in[i];
      else
        array_out := array_append(array_out, array_in[i]);
      end if;
    end if;
  END LOOP;

  if array_out = null_array then
    array_out := null;
  end if;

  return array_out;
end;
'
  LANGUAGE 'plpgsql' VOLATILE;
...
Рейтинг: 0 / 0
Как узнать сколько элементов в массиве?
    #33174939
нет_уж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZemA
Ну и зря. Надо было Sarin'а в очередной раз послать документацию читать.
И кстати, в 8 версии спец функции для определения границ массива появились.
...
Рейтинг: 0 / 0
Как узнать сколько элементов в массиве?
    #33174950
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у меня седьмая всё равно.
...
Рейтинг: 0 / 0
Как узнать сколько элементов в массиве?
    #33176496
пепси
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перерыл доку на 8.0 но этой спец функции не нашёл :(

Может быть кто-нибудь ткнёт носом???
...
Рейтинг: 0 / 0
Как узнать сколько элементов в массиве?
    #33176600
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.postgresql.org/docs/8.0/interactive/functions-array.html#ARRAY-FUNCTIONS-TABLE
...
Рейтинг: 0 / 0
Как узнать сколько элементов в массиве?
    #33176983
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что такое: "varchar", _varchar в объявлении функции? Что делает _ перед varchar? Что значит "varchar"?
...
Рейтинг: 0 / 0
Как узнать сколько элементов в массиве?
    #33177949
Meta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sarinа что такое: "varchar", _varchar в объявлении функции? Что делает _ перед varchar? Что значит "varchar"?
_varchar, вроде, аналог varchar[]
а об остальном можно почитать тут
http://www.postgresql.org/docs/7.4/interactive/datatype-character.html
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как узнать сколько элементов в массиве?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]