Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में DATETIME से 3 घंटे कैसे घटाएं?

दो मुख्य विधियाँ

MySQL में किसी DATETIME मान से 3 घंटे (या कोई अंतराल) घटाने के दो मानक तरीके हैं।

विधि 1: DATE_ADD() ऋणात्मक अंतराल के साथ

SELECT DATE_ADD(yourColumnName, INTERVAL -3 HOUR) 
FROM yourTableName;

विधि 2: DATE_SUB() धनात्मक अंतराल के साथ

SELECT DATE_SUB(yourColumnName, INTERVAL 3 HOUR) 
FROM yourTableName;

व्यावहारिक उदाहरण (वर्तमान समय से)

वर्तमान समय देखें

mysql> SELECT NOW();
+---------------------+
| now()               |
+---------------------+
| 2018-11-30 10:13:23 |
+---------------------+
1 row in set (0.00 sec)

DATE_ADD के साथ (-3 घंटे)

mysql> SELECT DATE_ADD(NOW(), INTERVAL -3 HOUR);
+----------------------------------+
| date_add(now(), interval -3 hour)|
+----------------------------------+
| 2018-11-30 07:13:28              |
+----------------------------------+
1 row in set (0.00 sec)

DATE_SUB के साथ (3 घंटे)

mysql> SELECT NOW();
+---------------------+
| now()               |
+---------------------+
| 2018-11-30 10:14:12 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_SUB(NOW(), INTERVAL 3 HOUR);
+---------------------------------+
| date_sub(now(), interval 3 hour)|
+---------------------------------+
| 2018-11-30 07:14:25             |
+---------------------------------+
1 row in set (0.00 sec)

अन्य समय इकाइयाँ

INTERVAL 3 HOUR      -- 3 घंटे
INTERVAL 30 MINUTE   -- 30 मिनट
INTERVAL 1 DAY       -- 1 दिन
INTERVAL 2 WEEK      -- 2 सप्ताह
INTERVAL 1 MONTH     -- 1 महीना
INTERVAL 1 YEAR      -- 1 वर्ष
INTERVAL '1 12' DAY_HOUR  -- 1 दिन 12 घंटे (संयुक्त)
INTERVAL '3:30' HOUR_MINUTE -- 3 घंटे 30 मिनट

कॉलम पर उपयोग

SELECT 
  EventTime,
  DATE_SUB(EventTime, INTERVAL 3 HOUR) AS ThreeHoursBefore
FROM Events;

कौन सा उपयोग करें?

  • DATE_SUB: अधिक पठनीय, स्पष्ट इरादा (घटाना)
  • DATE_ADD + ऋणात्मक: लचीला जब अंतराल चर/पैरामीटर हो (धनात्मक/ऋणात्मक दोनों संभालता है)
  • दोनों समान रूप से कुशल हैं
  1. - MySQL में करंट टाइम में 5 घंटे कैसे जोड़ें?

    DATE_ADD(NOW(), INTERVAL 5 HOUR) से करंट टाइम में घंटे जोड़ें। उदाहरण SELECT DATE_ADD(NOW(), INTERVAL 5 HOUR); +---------------------------------+ | DATE_ADD(NOW(), INTERVAL 5 HOUR) | +---------------------------------+ | 2018-10-11 15:59:23 | +---------------------------------+ इसी तर

  1. - MySQL डेटाटाइम को यूनिक्स टाइमस्टैम्प में कैसे बदलें

    हम UNIX_TIMESTAMP() फ़ंक्शन की मदद से MySQL डेट और टाइम को यूनिक्स टाइमस्टैम्प में बदल सकते हैं। निम्नलिखित क्वेरी है। SELECT UNIX_TIMESTAMP(STR_TO_DATE(Oct 19 2018 10:00PM, %M %d %Y %h:%i%p)); उपरोक्त क्वेरी चलाने के बाद हमें नीचे दिखाए गए आउटपुट में डेट फॉर्मेट में आउटपुट नहीं मिलेगा। यहां दिखा

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर