Как преобразовать человеческую дату в временную метку unix в Mysql?
У меня есть таблица с полем даты, в которой есть человеческая дата: "2008-01-08 19:23:32"
Теперь мне нужно скопировать это поле плюс некоторые другие поля одной таблицы в другую таблицу, но дата должна быть в отметке времени unix.
Есть ли какая-либо функция в mysql, которая преобразует человеческую дату в временную метку unix внутри самого запроса?
Ответы
Ответ 1
mysql> select unix_timestamp('2008-01-08 19:23:32');
+---------------------------------------+
| unix_timestamp('2008-01-08 19:23:32') |
+---------------------------------------+
| 1199849012 |
+---------------------------------------+
1 row in set (0.04 sec)
найдено здесь: http://www.epochconverter.com/
Ответ 2
UNIX_TIMESTAMP()
Необходимо сделать трюк!
Из документов MySQL:
Если вызывается без аргумента, возвращает отметку времени Unix (секунды с '1970-01-01 00:00:00' UTC) как целое число без знака. Если UNIX_TIMESTAMP() вызывается с аргументом date, он возвращает значение аргумента как секунд с '1970-01-01 00:00:00' UTC. дата может быть строкой DATE, строка DATETIME, TIMESTAMP или номер в формате YYMMDD или YYYYMMDD. Сервер интерпретирует дату как значение в текущее время zone и преобразует его во внутреннее значение в формате UTC.
mysql> SELECT UNIX_TIMESTAMP();
-> 1196440210
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
-> 1196440219
Ответ 3
SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
Ответ 4
Да. SELECT UNIX_TIMESTAMP (столбец) FROM TABLE