在 SQL 中,我如何将一个数字乘以一个数组
In SQL, how can I multiple a number by an array
基本上,我有一个数组,我需要将一个数字乘以每个元素,例如:
x float[1,2,3,4,5];
x := x * 10; --of course I get the error here
所以输出将是:
{10,20,30,40,50}
您可以使用 unnest
-> 进行计算 -> array_agg
:
SELECT array_agg(unnest * 10) FROM UNNEST('{1,2,3,4,5}' :: int[])
要确定元素的顺序,您可以添加 WITH ORDINALITY
:
SELECT array_agg(unnest * 10 ORDER BY ordinality)
FROM UNNEST('{1,2,3,4,5}' :: int[] )WITH ORDINALITY
基本上,我有一个数组,我需要将一个数字乘以每个元素,例如:
x float[1,2,3,4,5];
x := x * 10; --of course I get the error here
所以输出将是: {10,20,30,40,50}
您可以使用 unnest
-> 进行计算 -> array_agg
:
SELECT array_agg(unnest * 10) FROM UNNEST('{1,2,3,4,5}' :: int[])
要确定元素的顺序,您可以添加 WITH ORDINALITY
:
SELECT array_agg(unnest * 10 ORDER BY ordinality)
FROM UNNEST('{1,2,3,4,5}' :: int[] )WITH ORDINALITY