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

MySQL में SUBDATE() बनाम DATE_SUB():क्या अंतर है?

MySQL SUBDATE() . के बीच का अंतर और DATE_SUB() फ़ंक्शन बिल्कुल वैसा ही है जैसे ADDDATE() . के बीच का अंतर और DATE_ADD() कार्य। एक फ़ंक्शन दो अलग-अलग सिंटैक्स रूपों की अनुमति देता है, जबकि दूसरा केवल एक के लिए अनुमति देता है।

यह लेख अंतर प्रदर्शित करता है।

सिंटैक्स

यहां प्रत्येक फ़ंक्शन के लिए सिंटैक्स दिया गया है।

DATE_SUB()

DATE_SUB() वाक्य रचना इस प्रकार है।

DATE_SUB(date,INTERVAL expr unit)

यह दिनांक मान को स्वीकार करता है, उसके बाद INTERVAL कीवर्ड और व्यंजक और इकाई जिसके लिए पहले तर्क द्वारा दी गई तारीख से घटाना है।

सबडेट()

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

SUBDATE(date,INTERVAL expr unit)

या

SUBDATE(expr,days)

पहला फ़ॉर्म बिल्कुल DATE_SUB() . जैसा ही है सिंटैक्स, और जब आप इस सिंटैक्स का उपयोग करते हैं, तो SUBDATE() फ़ंक्शन DATE_SUB() . का समानार्थी है ।

हालांकि, दूसरा सिंटैक्स फॉर्म केवल SUBDATE() . का उपयोग करते समय ही उपलब्ध होता है फ़ंक्शन, और यह आपको तारीख से घटाने के लिए दिनों की संख्या निर्दिष्ट करने के लिए शॉर्टहैंड तरीके का उपयोग करने की अनुमति देता है।

उदाहरण

यहां एक ही तारीख से निश्चित दिनों की संख्या घटाने के लिए दोनों फ़ंक्शन का उपयोग करने का एक उदाहरण दिया गया है।

SET @date = '2023-12-10';
SELECT 
    DATE_SUB(@date, INTERVAL 5 DAY) AS 'DATE_SUB',
    SUBDATE(@date, INTERVAL 5 DAY) AS 'SUBDATE 1',
    SUBDATE(@date, 5) AS 'SUBDATE 2';

परिणाम:

+------------+------------+------------+
| DATE_SUB   | SUBDATE 1  | SUBDATE 2  |
+------------+------------+------------+
| 2023-12-05 | 2023-12-05 | 2023-12-05 |
+------------+------------+------------+

हालांकि, अगर हम DATE_SUB() . के साथ वैकल्पिक सिंटैक्स फॉर्म का उपयोग करने का प्रयास करते हैं हमें एक त्रुटि मिलती है।

SET @date = '2023-12-10';
SELECT DATE_SUB(@date, 5) AS 'DATE_SUB 2';

परिणाम:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5) AS 'DATE_SUB 2'' at line 1

और निश्चित रूप से, इस त्रुटि का कारण यह है कि DATE_SUB() उस सिंटैक्स का समर्थन नहीं करता।

ध्यान दें कि इस दूसरे सिंटैक्स फॉर्म का उपयोग केवल दिनों . को घटाने के लिए किया जा सकता है तारीख से। यदि आपको किसी अन्य इकाई को घटाना है (उदाहरण के लिए, महीने), तो आपको पहले सिंटैक्स का उपयोग करना होगा।


  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 कनेक्शन कैसे सेट करें

  2. MySQL में एकाधिक अपडेट

  3. वर्ष () उदाहरण – MySQL

  4. लैटिन1 एन्कोडेड कॉलम में UTF-8 वर्णों का पता कैसे लगाएं - MySQL

  5. क्या MySQL में एक स्ट्रिंग निष्पादित करना संभव है?