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

MySQL में UNIX_TIMESTAMP () से UTC डेटाटाइम कैसे प्राप्त करें

मुझे लगता है कि आपकी समस्या CONVERT_TZ नहीं है , लेकिन FROM_UNIXTIME

FROM_UNIXTIME एक पूर्णांक को तर्क के रूप में लेता है - जिसका अर्थ है 32 बिट।

यदि आप आज का यूनिक्स-टाइमस्टैम्प लेते हैं:1480546792 , सही 24 बिट स्थानांतरित - आप unix_time पर मान्य पैरामीटर के लिए 32-बिट सीमा को पार कर रहे हैं ।

from_unixtime केवल 2147483647 तक के मापदंडों को संभाल सकता है - जिसका अर्थ है, यह 2038-01-19 04:14:07 . तक काम करता है

मुझे भी इस समस्या का सामना करना पड़ा है, और 2002 से इसका समाधान "विकासाधीन" है।

जब तक इसका अंतत:समाधान नहीं हो जाता, तब तक आपको date_add . का उपयोग करते हुए एक वैकल्पिक हल का उपयोग करना चाहिए . इसके बजाय

from_unixtime (x)

उपयोग करें

date_add(from_unixtime(0), INTERVAL x second)

परिणाम (ओं):

SELECT from_unixtime (2147483647); //2038-01-19 04:14:07 
SELECT from_unixtime (2147483648); //NULL

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


  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. लॉग इन करने के बाद होम पेज पर रीडायरेक्ट करें php

  3. MYSQL से डेटा की पहली पंक्ति गुम है

  4. MYSQL - उत्पाद द्वारा तालिका समूह से सबसे कम बोली प्राप्त करें (परिणाम अजीब)

  5. यदि पंक्ति मौजूद है तो MySQL तालिका को अद्यतन करने का सबसे तेज़ तरीका अन्य सम्मिलित करें। 2 से अधिक गैर-अद्वितीय कुंजियाँ