TFM से, मेरी हाइलाइट्स:
<ब्लॉकक्वॉट>9.9.4. वर्तमान तिथि/समय
PostgreSQL कई फ़ंक्शन प्रदान करता है जो वर्तमान दिनांक और समय से संबंधित मान लौटाता है। ये SQL-मानक फ़ंक्शन वर्तमान लेनदेन के प्रारंभ समय के आधार पर सभी वापसी मान :
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME(precision)
CURRENT_TIMESTAMP(precision)
LOCALTIME
LOCALTIMESTAMP
LOCALTIME(precision)
LOCALTIMESTAMP(precision)
...
चूंकि ये फ़ंक्शन वर्तमान लेन-देन का प्रारंभ समय लौटाते हैं, लेन-देन के दौरान उनके मान नहीं बदलते हैं। इसे एक विशेषता माना जाता है:इसका उद्देश्य एकल लेन-देन को "वर्तमान" समय की एक सुसंगत धारणा रखने की अनुमति देना है, ताकि एक ही लेन-देन के भीतर कई संशोधनों में एक ही समय की मुहर लगे।
PostgreSQL ऐसे फ़ंक्शन भी प्रदान करता है जो वर्तमान कथन के प्रारंभ समय को लौटाता है, साथ ही तत्काल में वास्तविक वर्तमान समय को फ़ंक्शन कहा जाता है। गैर-एसक्यूएल-मानक टाइमफंक्शन की पूरी सूची है:
transaction_timestamp()
statement_timestamp()
clock_timestamp()
timeofday()
now()
transaction_timestamp()
CURRENT_TIMESTAMP
. के बराबर है , लेकिन इसका नाम स्पष्ट रूप से प्रतिबिंबित करने के लिए है कि यह क्या लौटाता है। statement_timestamp()
वर्तमान स्टेटमेंट का प्रारंभ समय (अधिक विशेष रूप से, क्लाइंट से नवीनतम कमांड संदेश प्राप्त होने का समय) देता है।statement_timestamp()
और transaction_timestamp()
लेन-देन के पहले आदेश के दौरान समान मान लौटाएं, लेकिन बाद के आदेशों के दौरान भिन्न हो सकते हैं। clock_timestamp()
वास्तविक वर्तमान समय लौटाता है , और इसलिए इसका मान एकल SQLcommand के भीतर भी बदल जाता है। timeofday()
एक ऐतिहासिक PostgreSQL फ़ंक्शन है। पसंद करेंclock_timestamp()
, यह वास्तविक वर्तमान समय देता है, लेकिन समय क्षेत्र मान के साथ टाइमस्टैम्प के बजाय एक स्वरूपित टेक्स्ट स्ट्रिंग के रूप में।now()
transaction_timestamp()
. के बराबर एक पारंपरिक PostgreSQL है .