MySQL तारीख स्ट्रिंग को यूनिक्स टाइमस्टैम्प में परिवर्तित करता है


137

मैं निम्नलिखित प्रारूप को यूनिक्स टाइमस्टैम्प में कैसे परिवर्तित करूं?

Apr 15 2012 12:00AM

मुझे DB से जो प्रारूप मिलता है AMवह अंत में लगता है । मैंने निम्नलिखित का उपयोग करने की कोशिश की है, लेकिन यह काम नहीं किया:

CONVERT(DATETIME, Sales.SalesDate, 103) AS DTSALESDATE,  
CONVERT(TIMESTAMP, Sales.SalesDate, 103) AS TSSALESDATE

where Sales.SalesDate value is Apr 15 2012 12:00AM

1
क्या तिथि को DB में पाठ के रूप में संग्रहीत किया जाता है?
strnk

1
क्या यह वास्तव में एक MySQL सवाल है? आपका सिंटैक्स सुझाव नहीं देता है।
एल्वारो गोंजालेज

1
लगता है कि MSSQL के बारे में क्या सवाल है।
फेडिर RYKHTIK

जवाबों:


224

इस क्वेरी के लिए प्रयास करें CONVERT DATETIME to UNIX TIME STAMP

SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))

इस क्वेरी के लिए CHANGE DATE FORMATE

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p')

1
धन्यवाद। यह काम करता है। इसे अन्य स्टेटमेंट्स जैसे कि अपडेट, डिलीट, इंसर्ट आदि में भी इस्तेमाल किया जा सकता है
MR_AMDEV

1
इतने सारे परीक्षणों अपने समाधान मेरे लिए काम किया के बाद: select * from (SELECT order_increment_id, FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE(order_date, '%d %M %Y %h:%i:%s %p')),'%Y-%m-%d') as order_date, email_sent FROM `packingslip_header` where email_sent=0) t where order_date >= '2019-11-13' ORDER BY order_increment_id ASCइस तिथि रहा था 31 Oct 2017 4:16:49 pmतो मैं का उपयोग करने के लिए आवश्यक %d %M %Y %h:%i:%s %pके लिएSTR_TO_DATE
दामोदर Bashyal

35

आपको निश्चित रूप से STR_TO_DATEअपनी तिथि को MySQL मानक तिथि प्रारूप में बदलने के लिए और UNIX_TIMESTAMPइससे टाइमस्टैम्प प्राप्त करने के लिए दोनों का उपयोग करना होगा ।

अपनी तिथि के प्रारूप को देखते हुए, कुछ इस तरह

UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))

आपको एक वैध टाइमस्टैम्प देगा। STR_TO_DATEप्रारूप स्ट्रिंग पर अधिक जानकारी के लिए दस्तावेज़ीकरण देखें।


10

वर्तमान तिथि के लिए बस UNIX_TIMESTAMP()अपनी MySQL क्वेरी में उपयोग करें।


1
मूल पोस्ट से सवाल का जवाब नहीं है।
इवान डोनोवन

यह उन लोगों के लिए है जिन्हें अपनी क्वेरी में केवल वर्तमान तिथि को परिवर्तित करने की आवश्यकता है, प्रश्न के एक भाग का उत्तर देते हैं, आपके द्वारपाल इवान की कोई आवश्यकता नहीं है, लोगों ने इसे दिखाने की आवश्यकता
बताई है

मूल प्रश्न को एक विशिष्ट प्रारूप में बदलने के लिए कहा गया; यह उस सवाल का जवाब नहीं दे रहा है। यदि आप इसे स्पष्ट करने के लिए संपादित करते हैं तो मैं डाउनवोट को रद्द कर दूंगा।
इवान डोनोवन

यह पहली पंक्ति में स्पष्ट किया गया है कि यह वर्तमान तिथि के लिए है।
ढेरमोंक

मैंने मूल प्रश्न के इस उत्तर के संबंध को स्पष्ट करने और एक उदाहरण देने के लिए संपादन किया।
इवान डोनोवन

-5

से http://www.epochconverter.com/

SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())

My bad, SELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD. More on using timestamps with MySQL:

http://www.epochconverter.com/programming/mysql-from-unixtime.php

1
यह उत्तर MSSQL के लिए है (हालाँकि इस प्रश्न में कुछ भ्रम है)।
सलमान एक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.