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

PERIOD_DIFF () उदाहरण – MySQL

MySQL में एक PERIOD_DIFF() है फ़ंक्शन जो आपको दो अवधियों के बीच अंतर खोजने में सक्षम बनाता है। अवधियों को दो अलग-अलग तर्कों के रूप में प्रदान किया जाता है, और उन्हें YYMM . प्रारूप में होना चाहिए या YYYYMM

सिंटैक्स

वाक्य रचना इस प्रकार है:

PERIOD_DIFF(P1,P2)

जहां P1 पहली अवधि है, और P2 दूसरा है।

ध्यान दें कि हालांकि यह फ़ंक्शन तिथियों का उपयोग करता प्रतीत होता है, अवधि तर्क वास्तव में दिनांक मान नहीं हैं।

उदाहरण 1 - मूल उपयोग

यहां एक बुनियादी उदाहरण दिया गया है।

SELECT PERIOD_DIFF(199906, 199905);

परिणाम:

+-----------------------------+
| PERIOD_DIFF(199906, 199905) |
+-----------------------------+
|                           1 |
+-----------------------------+

तो इस मामले में, दोनों अवधियों के बीच 1 महीने का अंतर है।

उदाहरण 2 - नकारात्मक परिणाम

यहां बताया गया है कि अगर हम उन दो अवधियों की अदला-बदली करते हैं तो क्या होता है।

SELECT PERIOD_DIFF(199905, 199906);

परिणाम:

+-----------------------------+
| PERIOD_DIFF(199905, 199906) |
+-----------------------------+
|                          -1 |
+-----------------------------+

जैसा कि अपेक्षित था, परिणाम एक ऋणात्मक मान है।

उदाहरण 3 - दो अंकीय वर्ष

आप दो अंकों के वर्षों का भी उपयोग कर सकते हैं (ताकि प्रारूप YYMM हो ) प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

SELECT PERIOD_DIFF(9906, 9905);

परिणाम:

+-------------------------+
| PERIOD_DIFF(9906, 9905) |
+-------------------------+
|                       1 |
+-------------------------+

उदाहरण 4 - वर्तमान तिथि का उपयोग करना

यहां एक उदाहरण दिया गया है जो वर्तमान तिथि से एक अवधि तर्क प्राप्त करता है। फिर उस अवधि की एक निश्चित अवधि से तुलना की जाती है।

SELECT 
    CURDATE( ) AS 'Current Date',
    EXTRACT(YEAR_MONTH FROM CURDATE( )) AS 'Current Period',
    199901 AS 'Previous Period',
    PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM CURDATE( )), 199901) AS 'Difference';

परिणाम:

+--------------+----------------+-----------------+------------+
| Current Date | Current Period | Previous Period | Difference |
+--------------+----------------+-----------------+------------+
| 2018-06-30   |         201806 |          199901 |        233 |
+--------------+----------------+-----------------+------------+

उदाहरण 5 - एक डेटाबेस उदाहरण

यहां एक उदाहरण दिया गया है जो पिछले उदाहरण को एक कदम आगे ले जाता है और वर्तमान अवधि की तुलना किसी डेटाबेस में किसी तिथि से प्राप्त अवधि से करता है।

USE sakila;
SELECT
    EXTRACT(YEAR_MONTH FROM CURDATE( )) AS 'Current Period',
    payment_date AS 'Payment Date',
    EXTRACT(YEAR_MONTH FROM payment_date) AS 'Payment Period',
    PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM payment_date), EXTRACT(YEAR_MONTH FROM CURDATE( ))) AS 'Difference'
FROM payment
WHERE payment_id = 1;

परिणाम:

+----------------+---------------------+----------------+------------+
| Current Period | Payment Date        | Payment Period | Difference |
+----------------+---------------------+----------------+------------+
|         201806 | 2005-05-25 11:30:37 |         200505 |       -157 |
+----------------+---------------------+----------------+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL 8.0+ त्रुटि के साथ PHP:सर्वर ने क्लाइंट के लिए अज्ञात प्रमाणीकरण विधि का अनुरोध किया

  2. EXTRACT () उदाहरण – MySQL

  3. MySQL संस्करण का निर्धारण कैसे करें

  4. क्या जावास्क्रिप्ट MySQL से जुड़ सकता है?

  5. एक सफल MySQL DELETE क्या लौटाता है? कैसे जांचें कि DELETE सफल रहा?