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

PostgreSQL अन्य स्तंभों पर वातानुकूलित मानों के साथ एक नया स्तंभ बनाता है

एक बार का ऑपरेशन एक सादे UPDATE . के साथ प्राप्त किया जा सकता है :

UPDATE tbl
SET    one_year_survival = (survival OR survival_days >= 365);

मैं सलाह दूंगा कि आपके नाम में ऊंट-केस, व्हाइट-स्पेस और कोष्ठक का प्रयोग न करें। जबकि दोहरे उद्धरणों के बीच अनुमति दी जाती है, यह अक्सर जटिलताओं और भ्रम की ओर ले जाता है। अध्याय पहचानकर्ताओं और कुंजी के बारे में विचार करें मैनुअल में शब्द

क्या आप जानते हैं कि आप किसी क्वेरी के परिणाम निर्यात कर सकते हैं CSV के रूप में COPY के साथ ?
उदाहरण:

COPY (SELECT *, (survival OR survival_days >= 365) AS one_year_survival FROM tbl)
TO '/path/to/file.csv';

इस तरह से शुरू करने के लिए आपको अनावश्यक कॉलम की आवश्यकता नहीं होगी।

टिप्पणी का अतिरिक्त उत्तर

खाली अपडेट से बचने के लिए:

UPDATE tbl
SET    "Dead after 1-yr" = (dead AND my_survival_col < 365)
      ,"Dead after 2-yrs" = (dead AND my_survival_col < 730)
....
WHERE  "Dead after 1-yr" IS DISTINCT FROM (dead AND my_survival_col < 365)
   OR  "Dead after 2-yrs" IS DISTINCT FROM (dead AND my_survival_col < 730)
...

व्यक्तिगत रूप से, मैं ऐसे अनावश्यक कॉलम केवल तभी जोड़ूंगा जब मेरे पास कोई सम्मोहक कारण हो। आम तौर पर मैं नहीं होता। यदि यह प्रदर्शन के बारे में है:क्या आप अभिव्यक्तियों और आंशिक अनुक्रमणिका पर अनुक्रमणिका ?



  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. amazon ec2 . पर रिमोट पोस्टग्रेस्क्ल सर्वर से कनेक्ट करें

  3. PostgreSQL में टाइमस्टैम्प से दिनांक (yyyy/mm/dd) निकालें

  4. जावा फंक्शन को कॉल करने वाले डीबी ट्रिगर को पोस्टग्रेज करता है

  5. 'संघ' पर या उसके पास PostgreSQL सिंटैक्स त्रुटि