Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / BETWEEN & ARRAY / 6 сообщений из 6, страница 1 из 1
24.09.2008, 13:16
    #35556626
mcau
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BETWEEN & ARRAY
имеется массив ARRAY[1,2,3,4,5,6]
необходимо извлечь все значения в промежутке от 2 до 5
как лучше сделать?
1) занести все значения во временную таблицу и делать SELECT id FROM tmp_table WHERE id BETWEEN 2 AND 5
2) перебирать массив

может есть третий вариант? какая-нибудь функция?
...
Рейтинг: 0 / 0
24.09.2008, 13:36
    #35556688
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BETWEEN & ARRAY
Код: plaintext
1.
2.
3.
4.
5.
select arr[ gs ] as elem from
  ( select arr, generate_series( array_lower(arr,1), array_upper(arr,1) ) as gs from
    ( select array[3,4,6,7] as arr
    ) as a
  ) as b
where arr[ gs ] between 4 and 6;
...
Рейтинг: 0 / 0
24.09.2008, 13:38
    #35556698
mcau
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BETWEEN & ARRAY
А если вместо чисел даты??
например ARRAY['1990-01-01', '2008-01-01', '2004-03-01']
уж больно много придется генерить через generate_series
...
Рейтинг: 0 / 0
24.09.2008, 13:41
    #35556702
mcau
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BETWEEN & ARRAY
более того generate_series не позволит создать серию дат
...
Рейтинг: 0 / 0
24.09.2008, 13:45
    #35556722
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BETWEEN & ARRAY
через generate_series генерится индекс массива. не важно, сколько элементов в массиве и какого типа.
...
Рейтинг: 0 / 0
24.09.2008, 13:48
    #35556733
tadmin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BETWEEN & ARRAY
Код: plaintext
1.
select '2000-01-01'::date + s.a as dates
    from generate_series( 0 , 10000 , 1 ) as s(a);
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / BETWEEN & ARRAY / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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