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

MySQL में टाइमस्टैम्पडिफ़ () SQL सर्वर में dateiff () के बराबर है?

मुझे लगता है कि यह 2 चीजों में से एक के कारण हो सकता है:

  • आपके SQL सर्वर और MySQL इंस्टेंस के बीच सप्ताह के पहले दिन के रूप में क्या वर्गीकृत किया जाता है।
  • SQL सर्वर और MySQL के बीच सप्ताहों की गणना कैसे की जाती है

आपकी दी गई तारीख 2012-09-01 शनिवार को पड़ता है, जो सप्ताह के शुरुआती दिन को रद्द करता प्रतीत होता है, जो आमतौर पर रविवार या सोमवार होता है।

MySQL का डिफ़ॉल्ट प्रारंभ दिन होता है:0 (Sunday)

सप्ताह के प्रारंभ में अपने SQL सर्वर का पता लगाने के लिए आप @ का उपयोग कर सकते हैं। @DATEFIRST इसे चलाकर:

select @@DATEFIRST -- default US English = 7 (Sunday)

अधिक सटीक मान प्राप्त करने के लिए आप अपनी गणना को सप्ताह के बजाय दिनों पर काम करने के लिए बदल सकते हैं और 7 से विभाजित कर सकते हैं, जिसे आप अपनी इच्छानुसार गोल कर सकते हैं:

MySQL:SQL Fiddle Demo

SELECT TIMESTAMPDIFF(DAY, '2012-09-01', '2014-10-01')/7 AS NoOfWeekends1


| NOOFWEEKENDS1 |
|---------------|
|      108.5714 |

SQL सर्वर:SQL Fiddle Demo :

SELECT DATEDIFF(d,'2012-09-01','2014-10-01')/7.0 AS NoOfWeekends1

| NOOFWEEKENDS1 |
|---------------|
|    108.571428 |

यदि आप अपने पिछले परिणाम से मेल खाना चाहते हैं या इसे एक अतिरिक्त सप्ताहांत के रूप में गिनना चाहते हैं, तो आप इसे ऊपर या नीचे गोल कर सकते हैं।

SQL सर्वर यह उदाहरण बेला जहां मैंने दिनांक सीमा को 2 दिन, शनिवार और रविवार को बदल दिया है:

SELECT DATEDIFF(wk,'2012-09-01','2012-09-02') AS NoOfWeekends1

| NOOFWEEKENDS1 |
|---------------|
|             1 |

जहां MySQL में समान मान केवल एक सप्ताह के रूप में पूरे 7 दिनों की गणना करते हैं जैसा कि में दिखाया गया है। यह डेमो फिडेल :

SELECT TIMESTAMPDIFF(WEEK, '2012-09-01', '2012-09-02') AS NoOfWeekends1

| NOOFWEEKENDS1 |
|---------------|
|             0 |

यह केवल तभी होता है जब पूरे 7 दिन बीत जाते हैं, जैसा कि आप इस डेमो में देख सकते हैं, आपको 1 का परिणाम मिलता है। बेला :

SELECT TIMESTAMPDIFF(WEEK, '2012-09-01', '2012-09-08') AS NoOfWeekends1

| NOOFWEEKENDS1 |
|---------------|
|             1 |



  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 में NULL मान कैसे गिनें?

  4. mysql क्वेरी में चयनित विकर्ण क्षेत्र के बीच बिल्कुल डेटा कैसे खोजें?

  5. उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए एक्सेस अस्वीकृत के साथ अटक गया - टर्मिनल, मैक