在 Postgresql 9.6 中,是否有一种干净的方法可以将两个相同大小的数组中的对应元素相乘?
例如
a = [1,2,9,4,5]
b = [5,8,4,0,12]
function(a, b) would return [5, 16, 36, 0, 60].
我更喜欢它作为这样的功能,因为它会在多个地方使用。
在 Postgresql 9.6 中,是否有一种干净的方法可以将两个相同大小的数组中的对应元素相乘?
例如
a = [1,2,9,4,5]
b = [5,8,4,0,12]
function(a, b) would return [5, 16, 36, 0, 60].
我更喜欢它作为这样的功能,因为它会在多个地方使用。
并行不嵌套
你想要的是类似这样的东西parallel-unnest。这里我们使用
ARRAY()
构造函数而不是array_agg()
创建我们自己的函数
在函数式编程中,我们称之为 this
zip
,您可以在具有原始功能支持的语言(如 Python 等)中使用它。在具有更高级功能支持的语言中,例如Haskell,您可以zipWith
使用Ramda.jsR.zipWith()
ex1
这将返回一个大小为或中较大者的数组ex2
。你可以把它放在这样的函数中,*
注意:如果没有为该类型定义运算符,这将不起作用。