我有两个阵列。两个数组都是根据函数计算的,所以两个数组都是动态的,但两个数组的长度是相同的。
a1= ARRAY[1,2,3]; a2= ARRAY[10,20,30];
现在我想更新一下我的表
UPDATE TABLE SET data= CASE data=a1[1] then a2[1] data=a1[2] then a2[2] data=a1[3] then a2[3]END where id=1;
我试着在箱子里加一个回路,但没用。
你可以利用 array_position 要在数组1中查找匹配的索引,并使用此索引查询数组2:
array_position
UPDATE TABLE SET data = a2[array_position(a1, data)] WHERE id = 1;
http://rextester.com/CBJ37276