MySQL में एक PERIOD_ADD()
है फ़ंक्शन जो आपको किसी निश्चित अवधि में कई महीने जोड़ने की अनुमति देता है। यह YYYYMM . प्रारूप में एक मान देता है ।
यह लेख यह प्रदर्शित करने के लिए उदाहरण प्रदान करता है कि यह कैसे काम करता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
PERIOD_ADD(P,N)
जहां P
अवधि है, और N
जोड़ने के लिए महीनों की संख्या है।
ध्यान दें, हालांकि ऐसा लगता है कि यह फ़ंक्शन किसी तिथि में महीनों को जोड़ रहा है, अवधि तर्क वास्तव में दिनांक मान नहीं है।
उदाहरण 1 - मूल उपयोग
यहां एक बुनियादी उदाहरण दिया गया है।
SELECT PERIOD_ADD(202101,2);
परिणाम:
+----------------------+ | PERIOD_ADD(202101,2) | +----------------------+ | 202103 | +----------------------+
इसलिए इस मामले में, हमने अवधि में दो महीने जोड़े हैं।
उदाहरण 2 - नकारात्मक मान
यहां एक उदाहरण दिया गया है जो महीनों की ऋणात्मक संख्या जोड़ता है।
SELECT PERIOD_ADD(202101,-2);
परिणाम:
+-----------------------+ | PERIOD_ADD(202101,-2) | +-----------------------+ | 202011 | +-----------------------+
उदाहरण 3 - दो अंकीय वर्ष
यह उदाहरण दो अंकीय वर्ष घटक का उपयोग करता है।
SELECT PERIOD_ADD(2101,2);
परिणाम:
+--------------------+ | PERIOD_ADD(2101,2) | +--------------------+ | 202103 | +--------------------+
आप देखेंगे कि परिणाम अभी भी चार अंकों के वर्ष का उपयोग करता है (भले ही हमने अवधि तर्क को दो अंकों के वर्ष के रूप में प्रदान किया हो)।
उदाहरण 4 - वर्तमान तिथि का उपयोग करना
यह उदाहरण वर्तमान तिथि से अवधि प्राप्त करता है। इसके बाद उस अवधि में एक महीना जुड़ जाता है।
SELECT CURDATE( ) AS 'Current Date', EXTRACT(YEAR_MONTH FROM CURDATE( )) AS 'Current Period', PERIOD_ADD(EXTRACT(YEAR_MONTH FROM CURDATE( )), 1) AS 'Next Period';
परिणाम:
+--------------+----------------+-------------+ | Current Date | Current Period | Next Period | +--------------+----------------+-------------+ | 2018-06-30 | 201806 | 201807 | +--------------+----------------+-------------+
उदाहरण 5 - एक डेटाबेस उदाहरण
यहां एक उदाहरण दिया गया है जो डेटाबेस से पूछताछ करता है।
USE sakila; SELECT payment_date AS 'Payment Date', EXTRACT(YEAR_MONTH FROM payment_date) AS 'Payment Period', PERIOD_ADD(EXTRACT(YEAR_MONTH FROM payment_date), 12) AS 'Next Payment' FROM payment WHERE payment_id = 1;
परिणाम:
+---------------------+----------------+--------------+ | Payment Date | Payment Period | Next Payment | +---------------------+----------------+--------------+ | 2005-05-25 11:30:37 | 200505 | 200605 | +---------------------+----------------+--------------+