[英]How can I update a value for a key in a jsonb object using a reference to the value itself?
我正在嘗試使用對自身的引用來更新 JSONB 數據類型中的鍵值。 基本上我必須用它的正值替換任何負值。
我已經嘗試過了,但我似乎無法讓它工作:
UPDATE transactions
SET raw_transaction = JSONB_SET( raw_transaction, '{transaction-amount}',
ABS ( ( raw_transaction ->> 'transaction-amount' )::DECIMAL ),
FALSE )
WHERE ( raw_transaction ->> 'transaction-amount' )::DECIMAL < 0
樣本數據
{
"id":"wkjhen87398",
"transaction-amount":-1.23
}
任何幫助將非常感激。
通過一些額外的演員來解決它:
UPDATE transactions
SET raw_transaction = JSONB_SET( raw_transaction, '{transaction-amount}',
((ABS ( ( raw_transaction ->> 'transaction-amount' )::DECIMAL))::TEXT)::JSONB,
FALSE )
WHERE ( raw_transaction ->> 'transaction-amount' )::DECIMAL < 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.