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

पोस्टग्रेज 9.2 . में कॉपी चलाने के बाद सिंगल कोट्स लगभग वैल्यू दिखाई देते हैं

आप अपने प्रश्न में जो वर्णन करते हैं वह स्पष्ट रूप से नहीं है कि वास्तव में क्या हो रहा है। COPY एक date . में अनावश्यक सिंगल कोट्स के साथ स्ट्रिंग अक्षर आयात करने का प्रयास विफल हो जाएगा कॉलम।

अनावश्यक उद्धरणों से छुटकारा पाने के लिए, एक अस्थायी तालिका text . के साथ कॉलम, फिर INSERT INTO लक्ष्य तालिका उद्धरणों को ट्रिम कर रही है:

CREATE TEMP TABLE wtmp (
   city text
 , temp_lo int
 , temp_hi int
 , prcp real
 , date text  -- note how I use text here.
);

COPY wtmp FROM '~aviad/postsgres/playground/weather.txt';

INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
SELECT city, temp_lo, temp_hi, prcp, trim(date, '''')::date
FROM   wtmp
-- ORDER BY ?
;

आपके सत्र के अंत में अस्थायी तालिका स्वचालित रूप से हटा दी जाती है।

आरक्षित शब्द पहचानकर्ता के रूप में

मैं देख रहा हूं कि आपने मैनुअल से उदाहरण की प्रतिलिपि बनाई है। यहां वर्तमान मैनुअल का डीप लिंक है। ।

सही होते हुए भी मैनुअल में वह उदाहरण दुर्भाग्यपूर्ण है। मेरी सलाह है कि आरक्षित शब्दों जैसे date कॉलम नामों के रूप में। जैसा कि आप यहां देख सकते हैं date प्रत्येक SQL मानक में एक आरक्षित शब्द है। इसे पोस्टग्रेज में उपयोग करने की अनुमति है और मैं देख सकता हूं कि यह एक साधारण उदाहरण के लिए कितना आकर्षक है। लेकिन यह इसे एक अच्छा विचार नहीं बनाता है। आम तौर पर, आपको से बचने . की आदत होनी चाहिए पहचानकर्ता के रूप में आरक्षित शब्द। यह भ्रामक त्रुटि संदेशों और अनावश्यक रूप से असंगत SQL कोड की ओर ले जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. docker-compose postgres docker-entrypoint-initdb.d . में स्क्रिप्ट चलाने के बाद पुनरारंभ होता है

  2. रेल में पोस्टग्रेज यूयूआईडी का उपयोग करते समय पीजी ::अमान्य टेक्स्ट प्रतिनिधित्व त्रुटि से बचें

  3. PostGIS त्रुटि:एक सर्वश्रेष्ठ उम्मीदवार समारोह का चयन नहीं कर सका

  4. समय समग्र कार्य में अतिव्यापी अवधियों को बाहर करें

  5. PostgreSQL में दिनांक फ़ील्ड से सप्ताह का दिन निकालें मान लें कि सप्ताह सोमवार से शुरू होता है