MySQL конвертирует дату и время в метку времени Unix

Как мне преобразовать следующий формат в метку времени Unix?

Apr 15 2012 12:00AM

Формат, который я получаю из БД, похоже, имеет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
 Álvaro González21 июн. 2012 г., 10:08
Это действительно вопрос MySQL? Вашsyntax не предлагает так.
 Fedir RYKHTIK23 мая 2013 г., 17:54
Кажется, что вопрос о MSSQL.
 strnk21 июн. 2012 г., 09:57
Дата хранится в виде текста в БД?

Ответы на вопрос(4)

Решение Вопроса

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')
 27 июн. 2012 г., 09:45
@redcoder это MYSQL
 redcoder27 июн. 2012 г., 09:02
это для MSSQL?
 18 июл. 2018 г., 12:06
это может читаться так, 2018-01-25T13: 39: 40-05: 00?

UNIX_TIMESTAMP() в вашем запросе MySQL.

 06 июл. 2018 г., 17:22
в самой первой строке было разъяснено, что это на текущую дату.
 06 июл. 2018 г., 17:02
Оригинальный вопрос, заданный для преобразования определенного формата; это не ответ на этот вопрос. Я отменю понижающий голос, если вы отредактируете, чтобы уточнить это.
 05 июл. 2018 г., 22:27
это для людей, которым нужно было конвертировать только текущую дату в своем запросе, отвечает на часть вопроса, нет необходимости в вашем контроле, Эван, люди проголосовали за то же самое, чтобы показать, что они нуждаются в этом
 06 июл. 2018 г., 22:49
Я отредактировал, чтобы уточнить связь этого ответа с исходным вопросом и привести пример.
 05 июл. 2018 г., 21:42
Не отвечает на вопрос из исходного поста.

STR_TO_DATE преобразовать вашу дату в стандартный формат даты MySQL, иUNIX_TIMESTAMP чтобы получить метку времени из этого.

Учитывая формат вашей даты, что-то вроде

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

Уилл даст вам правильную метку времени. СмотриSTR_TO_DATE документация для получения дополнительной информации о строке формата.

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
 19 февр. 2015 г., 13:50
Этот ответ для MSSQL (хотя этот вопрос имеет некоторую путаницу).

Ваш ответ на вопрос