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

2038-01-19 के बाद MySQL from_unixtime?

DATE_ADD . का उपयोग करने के लिए एक समाधान हो सकता है , लेकिन मुझे यकीन नहीं है कि यह प्रदर्शन-वार कैसे व्यवहार करता है:

SELECT DATE_ADD(FROM_UNIXTIME(0), INTERVAL 2147483647 SECOND); //2038-01-19 04:14:07
SELECT DATE_ADD(FROM_UNIXTIME(0), INTERVAL 2147483648 SECOND); //2038-01-19 04:14:08
...
SELECT DATE_ADD(FROM_UNIXTIME(0), INTERVAL 4147483647 SECOND); //2101-06-06 07:47:27

तो अभी के लिए, मैं उपयोग कर रहा हूँ

...
CASE 
  WHEN `javaTimeStampColumn` > 2147483647 THEN
    CONVERT_TZ(DATE_ADD(FROM_UNIXTIME(0), INTERVAL `javaTimeStampColumn`/1000 SECOND),'+00:00','+00:00')
  ELSE  
    CONVERT_TZ(FROM_UNIXTIME(`javaTimeStampColumn`/1000), '+00:00','+00:00')
END as ts
FROM table
...

यदि कोई हो तो प्रदर्शन पर प्रभाव को कम करना चाहिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रोग्रामिंग त्रुटि:किसी थ्रेड में बनाई गई SQLite ऑब्जेक्ट का उपयोग केवल उसी थ्रेड में किया जा सकता है

  2. Libpuzzle लाखों चित्रों को अनुक्रमित कर रहा है?

  3. Ubuntu 20.04 LTS पर MySQL 8 कैसे स्थापित करें?

  4. mysql में एक साथ अद्वितीय कुंजी बदलें

  5. MySQL क्वेरी - 3 टेबल को एक साथ मिलाएं, एक कॉलम से ग्रुप करें और दूसरे के लिए गिनें 2