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

Postgresql date_trunc समय क्षेत्र के साथ क्षेत्र 1 घंटे से बदल जाता है

इसके date_trunc . के दो प्रकार होने की उम्मीद है :एक timestamp . के लिए और एक timestamptz . के लिए , क्योंकि दस्तावेज़ कहते हैं:

क्या आप टाइमस्टैम्प और टाइमस्टैम्प को बेहतर ढंग से समझना चाहते हैं, पहले पढ़ें उत्कृष्ट उत्तर यहाँ

फिर लगभग date_trunc . मेरे प्रयोगों और विभिन्न SO उत्तरों की व्याख्या के अनुसार (जैसे यह एक ), सब कुछ ऐसा व्यवहार करता है जैसे, टाइमस्टैम्प्ज़ प्राप्त करते समय, date_trunc पहले इसे टाइमस्टैम्प में परिवर्तित करता है। यह रूपांतरण स्थानीय समय में टाइमस्टैम्प लौटाता है। फिर काट-छांट की जाती है:केवल तारीख रखें और घंटे/मिनट/सेकंड कम करें।

इस रूपांतरण से बचने के लिए (धन्यवाद पॉज़), date_trunc को टाइमस्टैम्प (टाइमस्टैम्प नहीं) प्रदान करें:

date_trunc('day', TIMESTAMPTZ '2001-07-16 23:38:40Z' at time zone 'UTC')

भाग at time zone 'UTC' कहते हैं "इस टाइमस्टैम्प को यूटीसी समय में टाइमस्टैम्प में कनवर्ट करें" (इस रूपांतरण से घंटा प्रभावित नहीं होता है)। फिर date_trunc रिटर्न 2001-07-16 00:00:00




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC प्रकार के लिए कोई बोली मानचित्रण नहीं:2003

  2. PostgreSQL:सीरियल बनाम पहचान

  3. क्या पोस्टग्रेज के अलावा डेटाबेस में विदेशी डेटा रैपर की तुलना में विशेषताएं हैं?

  4. से हटाएं ... पर या उसके पास सिंटैक्स त्रुटि रिपोर्टिंग।

  5. दिनांक सीमा क्वेरी बनाने के लिए दिनांक पैरामीटर पास करना