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

मारियाडीबी में TIMEDIFF () कैसे काम करता है

मारियाडीबी में, TIMEDIFF() एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो दो समय मानों या डेटाटाइम मानों के बीच का अंतर देता है, जिसे समय मान के रूप में व्यक्त किया जाता है।

यह DATEDIFF() . के समान है फ़ंक्शन, सिवाय इसके कि DATEDIFF() का वापसी मूल्य दिनों में व्यक्त किया जाता है।

TIMEDIFF() दो तर्क स्वीकार करता है, जिनमें से दोनों समय या डेटाटाइम अभिव्यक्ति हैं। फिर यह पहली बार से दूसरी बार घटाता है।

सिंटैक्स

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

TIMEDIFF(expr1,expr2)

इसके बाद यह expr1 - expr2 returns लौटाता है ।

उदाहरण

यहां एक उदाहरण दिया गया है:

SELECT TIMEDIFF('10:30:17', '1:10:10');

परिणाम:

+---------------------------------+
| TIMEDIFF('10:30:17', '1:10:10') |
+---------------------------------+
| 09:20:07                        |
+---------------------------------+

यहाँ यह फिर से है, लेकिन समय के साथ मूल्यों की अदला-बदली हुई:

SELECT TIMEDIFF('1:10:10', '10:30:17');

परिणाम:

+---------------------------------+
| TIMEDIFF('1:10:10', '10:30:17') |
+---------------------------------+
| -09:20:07                       |
+---------------------------------+

डेटाटाइम मान

यहां एक उदाहरण दिया गया है जो डेटाटाइम मानों का उपयोग करता है:

SELECT TIMEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59');

परिणाम:

+--------------------------------------------------------+
| TIMEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59') |
+--------------------------------------------------------+
| 96:00:01                                               |
+--------------------------------------------------------+

मिश्रित मान प्रकार

जबकि TIMEDIFF() समय और डेटाटाइम दोनों मानों पर काम करता है, दोनों तर्क एक ही प्रकार के होने चाहिए। मिश्रित प्रकार के परिणाम null . में होते हैं ।

उदाहरण:

SELECT TIMEDIFF('2030-01-25 00:00:00', '23:59:59');

परिणाम:

+---------------------------------------------+
| TIMEDIFF('2030-01-25 00:00:00', '23:59:59') |
+---------------------------------------------+
| NULL                                        |
+---------------------------------------------+

सीमा से बाहर

समय मानों की सीमा '-838:59:59.999999' . है करने के लिए '838:59:59.999999' . यदि परिणाम उस सीमा से बाहर है, तो वापसी मूल्य इसकी प्रासंगिक सीमा की ऊपरी सीमा है, और एक चेतावनी दी जाती है।

उदाहरण:

SELECT TIMEDIFF('2040-01-25 00:00:00', '2030-01-25 23:59:59');

परिणाम:

+--------------------------------------------------------+
| TIMEDIFF('2040-01-25 00:00:00', '2030-01-25 23:59:59') |
+--------------------------------------------------------+
| 838:59:59                                              |
+--------------------------------------------------------+
1 row in set, 1 warning (0.003 sec)

आइए चेतावनी पर एक नज़र डालें:

SHOW WARNINGS;

परिणाम:

+---------+------+-----------------------------------------------+
| Level   | Code | Message                                       |
+---------+------+-----------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '87624:00:01' |
+---------+------+-----------------------------------------------+

वर्तमान तिथि

यहां, हम NOW() pass पास करते हैं दूसरे तर्क के रूप में:

SELECT 
    NOW(),
    TIMEDIFF('2021-05-27 10:00:00', NOW());

परिणाम:

+---------------------+----------------------------------------+
| NOW()               | TIMEDIFF('2021-05-27 10:00:00', NOW()) |
+---------------------+----------------------------------------+
| 2021-05-27 14:29:38 | -04:29:38                              |
+---------------------+----------------------------------------+

अमान्य तर्क

जब कोई अमान्य तर्क पारित किया गया, TIMEEDIFF() रिटर्न null :

SELECT TIMEDIFF('Homer', 'Simpson');

परिणाम:

+------------------------------+
| TIMEDIFF('Homer', 'Simpson') |
+------------------------------+
| NULL                         |
+------------------------------+

अनुपलब्ध तर्क

कॉलिंग TIMEDIFF() तर्कों की गलत संख्या, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:

SELECT TIMEDIFF();

परिणाम:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIMEDIFF'

और:

SELECT TIMEDIFF('2030-05-21');

परिणाम:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIMEDIFF'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी के साथ एलडीएपी प्रमाणीकरण और समूह मानचित्रण को कॉन्फ़िगर करना

  2. कैसे EXTRACT () मारियाडीबी में काम करता है

  3. मारियाडीबी में एक तिथि से दिन का नाम प्राप्त करने के 3 तरीके

  4. मारियाडीबी माइनस ऑपरेटर ने समझाया

  5. कैसे FLOOR () मारियाडीबी में काम करता है