INTERVAL कीवर्ड का उपयोग
MySQL में डेट अंकगणित के लिए INTERVAL कीवर्ड का उपयोग करें। यह डेट/टाइम मानों में दिन, महीना, वर्ष आदि जोड़ने या घटाने का मानक तरीका है।
उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना
mysql> CREATE TABLE DemoTable814(ArrivalDate DATE); Query OK, 0 rows affected (0.58 sec)
रिकॉर्ड्स इन्सर्ट करना
mysql> INSERT INTO DemoTable814 VALUES
('2018-12-02'),('2017-03-12'),('2019-12-23'),('2016-06-01'),('2019-08-03');
Query OK, 5 rows affected (...)
सभी रिकॉर्ड्स देखना
mysql> SELECT * FROM DemoTable814;
+-------------+ | ArrivalDate | +-------------+ | 2018-12-02 | | 2017-03-12 | | 2019-12-23 | | 2016-06-01 | | 2019-08-03 | +-------------+ 5 rows in set (0.00 sec)
30 दिन जोड़ने की क्वेरी
mysql> SELECT ArrivalDate + INTERVAL 30 DAY FROM DemoTable814;
परिणाम
+------------------------------+ | ArrivalDate + INTERVAL 30 DAY | +------------------------------+ | 2019-01-01 | | 2017-04-11 | | 2020-01-22 | | 2016-07-01 | | 2019-09-02 | +------------------------------+ 5 rows in set (0.05 sec)
INTERVAL यूनिट्स के प्रकार
| यूनिट | उदाहरण | विवरण |
|---|---|---|
DAY | INTERVAL 30 DAY | दिन जोड़ें |
MONTH | INTERVAL 3 MONTH | महीने जोड़ें |
YEAR | INTERVAL 1 YEAR | वर्ष जोड़ें |
HOUR | INTERVAL 2 HOUR | घंटे जोड़ें |
MINUTE | INTERVAL 30 MINUTE | मिनट जोड़ें |
SECOND | INTERVAL 45 SECOND | सेकंड जोड़ें |
WEEK | INTERVAL 2 WEEK | सप्ताह जोड़ें |
QUARTER | INTERVAL 1 QUARTER | तिमाही जोड़ें (3 महीने) |
घटाने के लिए ऋणात्मक मान
SELECT ArrivalDate - INTERVAL 30 DAY FROM DemoTable814; -- या SELECT ArrivalDate + INTERVAL -30 DAY FROM DemoTable814;
DATE_ADD() और DATE_SUB() फंक्शन्स (अल्टरनेटिव)
-- जोड़ना SELECT DATE_ADD(ArrivalDate, INTERVAL 30 DAY) FROM DemoTable814; -- घटाना SELECT DATE_SUB(ArrivalDate, INTERVAL 30 DAY) FROM DemoTable814;
टेबल अपडेट करना (स्थायी परिवर्तन)
UPDATE DemoTable814 SET ArrivalDate = ArrivalDate + INTERVAL 30 DAY;
महत्वपूर्ण व्यवहार
- महीने जोड़ने पर महीने के अंत की तारीख एडजस्ट होती है:
'2019-01-31' + INTERVAL 1 MONTH = '2019-02-28' - लीप वर्ष स्वतः हैंडल होता है
DATETIMEकॉलम पर भी समान रूप से काम करता है