web-dev-qa-db-fra.com

Comment convertir une date humaine en horodatage unix dans Mysql?

J'ai une table avec un champ de date, avec une date humaine dedans comme: '2008-01-08 19:23:32' Maintenant, je dois copier ce champ ainsi que d'autres champs de la même table dans une autre table, mais la date doit être en timestamp unix.

Existe-t-il une fonction dans mysql qui convertit la date humaine en timestamp unix dans la requête elle-même?

19
developer
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)

trouvé ici: http://www.epochconverter.com/

43
jcomeau_ictx

UNIX_TIMESTAMP() Devrait faire l'affaire!

À partir de MySQL Docs:

Si appelé sans argument, retourne un horodatage Unix (secondes depuis '1970-01-01 00:00:00' UTC) sous forme d'entier non signé. Si UNIX_TIMESTAMP () est appelé avec un argument de date, il retourne la valeur de l’argument en secondes depuis '1970-01-01 00:00:00' UTC. date peut être une chaîne DATE, une chaîne DATETIME, un TIMESTAMP ou un nombre au format AAMMJJ ou AAAAMMJJ. Le serveur interprète la date comme une valeur de l'heure actuelle zone et la convertit en une valeur interne en UTC.

mysql> SELECT UNIX_TIMESTAMP();
        -> 1196440210
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
        -> 1196440219
4
user529649
SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
4
xdazz

Oui. SELECT UNIX_TIMESTAMP(column) FROM TABLE

1
gview

Question:

SELECT UNIX_TIMESTAMP(TIMESTAMP(`opened`)) as timestamp_date, `opened` as datetime_type FROM `myterminal`

Les sorties:

| timestamp_date        | datetime_type     
|-------------------    |---------------------
| 1536602012            | 2018-09-10 14:53:32
| 1536603854            | 2018-09-10 15:24:14
0
Diego Favero