簡體   English   中英

將除法應用於PostgreSQL中類型數組列中的每個元素

[英]Apply division to each element in column of type array in PostgreSQL

我有一個整型[4]類型的box_coordinates列,我想將數組的每個元素除以640,然后將其插入到float [4]類型的新列中。 我首先嘗試在聚合之前對數組的每個元素進行划分

SELECT n/640::float
FROM (
    SELECT unnest(box_coordinates) 
    FROM images 
) AS n;

但失敗並顯示錯誤

ERROR:  operator does not exist: record / integer
HINT:   No operator matches the given name and argument type(s). 
        You might need to add explicit type casts.

如何應用數組元素除法,然后將結果插入到float [4]類型的新列中,同時保持新數組中元素的順序不變?

您正在使用n而不是unnest結果

SELECT n.coord/640::float
FROM (
    SELECT unnest(box_coordinates) as coord
    FROM images 
    LIMIT 4
) AS n;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM