powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сложить два массива float4[]?
7 сообщений из 7, страница 1 из 1
Как сложить два массива float4[]?
    #38957792
Generalproger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли функции для сложения одинаковых по размеру массивов в postgresql?
Есть массивы {0,5.3,1,7.1} и {4,0.7,8,3} и хочется без особых страданий одной функцией получить из них {4,6,9,10.1}
Если стандартной функции нету, то может у кого-то есть готовая функций которую просто уже можно будет внести?
...
Рейтинг: 0 / 0
Как сложить два массива float4[]?
    #38957798
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Generalproger,

Код: plsql
1.
2.
3.
4.
select a+b
from (
select unnest(ARRAY[0,5.3,1,7.1]) as a,  unnest(ARRAY[4,0.7,8,3]) as b
) as c
...
Рейтинг: 0 / 0
Как сложить два массива float4[]?
    #38957808
Victor Nevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
select array_agg(a+b) 
  from (select unnest('{0,5.3,1,7.1}'::float[]) as a,
               unnest('{4,0.7,8,3}'::float[]) as b) x


Код: plaintext
1.
2.
3.
  array_agg
--------------
 {4,6,9,10.1}
(1 row)
...
Рейтинг: 0 / 0
Как сложить два массива float4[]?
    #38957874
big-trot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет гарантии, что unnest выдаст результат в порядке следования индексов.
Посмотрите сюда
...
Рейтинг: 0 / 0
Как сложить два массива float4[]?
    #38957912
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-trotНет гарантии...тогда стоит сразу продолжить сомнения и в сторону упорядоченности агрегата.
...
Рейтинг: 0 / 0
Как сложить два массива float4[]?
    #38957948
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p2.big-trotНет гарантии...тогда стоит сразу продолжить сомнения и в сторону упорядоченности агрегата.
в агрегат вы можете в postgres напсиать сами руками ORDER BY, вот только by что -- в случае unnest , в случае последовательности -- вдоль i .


а unnest ,скорее всего, гарантированно идёт вдоль индекса массива . в исходники не смотрел.
...
Рейтинг: 0 / 0
Как сложить два массива float4[]?
    #38963396
aceton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
select array_agg(('{0,5.3,1,7.1}'::float[])[i] + ('{4,0.7,8,3}'::float[])[i] order by i)
from generate_subscripts('{0,5.3,1,7.1}'::float[], 1) as a(i)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сложить два массива float4[]?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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