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

कैसे घड़ी_टाइमस्टैम्प () PostgreSQL में काम करता है

PostgreSQL में, clock_timestamp() एक गैर-एसक्यूएल-मानक समय फ़ंक्शन है जो वर्तमान दिनांक और समय देता है।

इस फ़ंक्शन का एक महत्वपूर्ण विचार यह है कि इसका परिणाम किसी कथन के निष्पादन के दौरान बदलता रहता है। इसलिए, यदि आप फ़ंक्शन को एक ही स्टेटमेंट में कई बार कॉल करते हैं, तो आपको स्टेटमेंट के अलग-अलग हिस्सों में एक अलग परिणाम मिल सकता है।

सिंटैक्स

सिंटैक्स जितना आसान हो जाता है:

clock_timestamp()

तो यह किसी भी पैरामीटर को स्वीकार नहीं करता है।

उदाहरण

प्रदर्शित करने के लिए यहां एक बुनियादी उदाहरण दिया गया है।

SELECT clock_timestamp();

परिणाम:

2020-07-01 09:53:22.823731+10

एकाधिक कॉल

जब आप किसी एकल SQL कथन में फ़ंक्शन को कई बार कॉल करते हैं, तो परिणाम कैसे भिन्न हो सकते हैं, यह प्रदर्शित करने के लिए यहां एक बुनियादी उदाहरण दिया गया है।

\x
SELECT 
  clock_timestamp(),
  pg_sleep(5),
  clock_timestamp(),
  pg_sleep(3),
  clock_timestamp();

परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):

clock_timestamp | 2020-07-01 09:58:29.744838+10
pg_sleep        |
clock_timestamp | 2020-07-01 09:58:34.813448+10
pg_sleep        |
clock_timestamp | 2020-07-01 09:58:37.859197+10

यहाँ, मैंने pg_sleep() . का उपयोग किया है कई सेकंड के लिए निष्पादन में देरी करने के लिए कार्य। पहली कॉल 5 सेकंड के लिए निष्पादन में देरी करती है और दूसरी कॉल 3 सेकंड के लिए निष्पादन में देरी करती है।

हम देख सकते हैं कि हर बार clock_timestamp() कहा जाता था, वास्तविक समय थोड़ा अलग था। यह मुख्य रूप से pg_sleep() . के कारण होता है फ़ंक्शन, लेकिन यह इसके बिना अभी भी भिन्न हो सकता है, यह इस पर निर्भर करता है कि क्वेरी कितनी तेजी से चलती है।

यहाँ यह फिर से बिना pg_sleep() के है कॉल।

SELECT 
  clock_timestamp(),
  clock_timestamp(),
  clock_timestamp();

परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):

clock_timestamp | 2020-07-01 10:03:10.828557+10
clock_timestamp | 2020-07-01 10:03:10.828558+10
clock_timestamp | 2020-07-01 10:03:10.828558+10

परिणामों को पढ़ने में आसान बनाने के लिए ये उदाहरण लंबवत आउटपुट (आमतौर पर psql में विस्तारित डिस्प्ले कहा जाता है) का उपयोग करते हैं।

आप \x . के साथ psql में विस्तारित डिस्प्ले को टॉगल कर सकते हैं ।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.ClassNotFoundException:org.postgresql.Driver

  2. डिवीजन (/) पोस्टग्रेस्क्ल में मेरा जवाब नहीं दे रहा है

  3. PostgreSQL त्रुटि लॉग को कैसे डिकोड करें

  4. यूनिक्स युग को टाइमस्टैम्प में कैसे बदलें

  5. Amazon AWS पर PostgreSQL बैकअप स्टोर करने के लिए टिप्स