PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पोस्टग्रेज:प्रत्येक सरणी तत्व को संशोधित करें

आपको अननेस्ट करने, विभाजित करने, फिर वापस एकत्रित करने की आवश्यकता है।

update the_table
  set the_array = array(select t.val / 10 
                        from unnest(the_table.the_array) as t(val));

यदि आपको सरणी में मूल क्रम को संरक्षित करने की आवश्यकता है तो with ordinality . का उपयोग करें

update the_table
  set the_array = array(select t.val / 10 
                        from unnest(the_table.the_array) with ordinality as t(val,idx) 
                        order by t.idx);

इसे लिक्विबेस में चलाने के लिए आपको एक <sql> . का उपयोग करना होगा बदलें

ऑनलाइन उदाहरण:https://rextester.com/IJGA96691




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बड़ी मात्रा में डबल को स्ट्रिंग में बदलने के लिए एक तेज़ विधि की आवश्यकता है

  2. PostgreSQL विदेशी कुंजी मौजूद नहीं है, विरासत का मुद्दा?

  3. क्या PostgreSQL तालिकाओं (टुकड़ों) के पारदर्शी संपीड़न का समर्थन करता है?

  4. जेएसओएन प्रकार कॉलम को समूह/चयन कैसे करें (पीजी ::अपरिभाषित फ़ंक्शन:त्रुटि:टाइप जेसन के लिए समानता ऑपरेटर की पहचान नहीं कर सका)

  5. सीक्वेलाइज़ माइग्रेशन और इनिशियलाइज़ेशन को संभालने के लिए वर्कफ़्लो?