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

PostgreSQL अंतराल मान '2 दिन' को कैसे सम्मिलित करें

समस्या का एक हिस्सा यह है कि अंतराल के लिए मानक SQL अभिव्यक्ति संख्या को उद्धृत करती है, लेकिन कीवर्ड नहीं। इसलिए आपको सावधान रहना होगा।

select current_date, current_date + interval '2' day;
--
2012-02-21   2012-02-23 00:00:00

PostgreSQL में, '2 दिन' और '2 दिन' जैसे उद्धरण भी काम करते हैं। तो आप सोच सकते हैं कि '2' || 'दिन' बराबर होगा, लेकिन ऐसा नहीं है।

select current_date, current_date + interval '2' || ' days';
--
2012-02-21   2012-02-21 00:00:02 days

समाधान, जैसा कि एएच ने कहा, परिणाम स्ट्रिंग को अंतराल के रूप में डालना है।

आप 2 के स्थान पर एक चर का उपयोग भी कर सकते हैं। यह 2012 के लिए एक कैलेंडर बनाता है।

-- 0 to 365 is 366 days; 2012 is a leap year.
select ('2012-01-01'::date + (n || ' days')::interval)::date calendar_date
from generate_series(0, 365) n;

मैं आज तक उस अंतिम कास्ट का उपयोग करता हूं, क्योंकि दिनांक + अंतराल एक टाइमस्टैम्प देता है।



  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 कॉलम 'foo' मौजूद नहीं है

  3. कैसे सेटसीड () PostgreSQL में काम करता है

  4. "चेतावनी:sl_table और pg_class के बीच बेमेल पाया गया।" में स्लोनी-आई

  5. रूबी में डेटटाइम का मिलीसेकंड रिज़ॉल्यूशन