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

PostgreSQL में विशेष कॉलम नामों वाले कॉलम चुनें

column एक आरक्षित शब्द . है . आप इसे पहचानकर्ता के रूप में तब तक उपयोग नहीं कर सकते जब तक आप इसे डबल-कोट नहीं करते। जैसे:"column"

इसका मतलब यह नहीं है कि आपको चाहिए। बस आरक्षित शब्दों को पहचानकर्ता के रूप में प्रयोग न करें। कभी।

करने के लिए ...

<ब्लॉकक्वॉट>

उनके नाम पर 2010 के साथ स्तंभों की सूची चुनें:

.. आप सिस्टम कैटलॉग तालिका pg_attribute से गतिशील रूप से SQL कमांड बनाने के लिए इस फ़ंक्शन का उपयोग कर सकते हैं :

CREATE OR REPLACE FUNCTION f_build_select(_tbl regclass, _pattern text)
  RETURNS text AS
$func$
    SELECT format('SELECT %s FROM %s'
                 , string_agg(quote_ident(attname), ', ')
                 , $1)
    FROM   pg_attribute 
    WHERE  attrelid = $1
    AND    attname LIKE ('%' || $2 || '%')
    AND    NOT attisdropped  -- no dropped (dead) columns
    AND    attnum > 0;       -- no system columns
$func$ LANGUAGE sql;

कॉल करें:

SELECT f_build_select('weather_data', '2010');

कुछ इस तरह लौटाता है:

SELECT foo2010, bar2010_id, FROM weather_data;

आप इसे पूरी तरह से गतिशील नहीं बना सकते, क्योंकि वापसी प्रकार अज्ञात . है जब तक हम वास्तव में क्वेरी नहीं बनाते।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज में ISO-8601 ग्रेगोरियन डेट टेबल कैसे बनाएं

  2. PostgreSql डेटाबेस एन्कोडिंग बदलें

  3. Postgresql में एक चर का मान प्रिंट करना

  4. PostgreSQL क्वेरी प्रदर्शन को समझना

  5. Postgresql में एक-के-दो नहीं शून्य बाधा जोड़ना