2009-08-23 20 views

Respuesta

17
datetime = CONCAT(date, ' ', time); 
+9

Tenga en cuenta que 'CONCAT()' devuelve una cadena, no a * true * 'DATETIME' value. – CDuv

+0

CONCAT es pobre, ¿y si el tiempo es> 24 horas? – kbro

32

para obtener un verdadero valor DATETIME de sus dos separados DATE y TIME valores:

STR_TO_DATE(CONCAT(date, ' ', time), '%Y-%m-%d %H:%i:%s') 
+0

¿Cuál es la zona horaria con este intento? – Muki

+4

Supongo que será el que se establezca en la variable de sistema ['time_zone'] (http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_time_zone). El tipo 'DATETIME' no almacena la zona horaria. – CDuv

+0

CONCAT es deficiente: utilice las funciones de fecha y hora para la manipulación de la fecha y las funciones de cadena para la manipulación de cadenas. – kbro

0

Sin crear y analizar cadenas, sólo tiene que añadir un intervalo de la fecha:

set @dt_text = '1964-05-13 15:34:05.757' ; 
set @d = date(@dt_text) ; 
set @t = time(@dt_text) ; 
select @d, @t, @d + interval time_to_sec(@t) second; 

Sin embargo, esto trunca los microsegundos.

Estoy de acuerdo con Muki: ¡asegúrese de tener en cuenta las zonas horarias y el horario de verano!

6

Usted podría utilizar ADDTIME():

ADDTIME(CONVERT(date, DATETIME), time) 
  • date puede haber una cadena de fecha o un objeto DATE.
  • time puede ser una cadena de tiempo o un objeto TIME.

Probado en MySQL 5.5.

24

Copiado de la documentación de MySQL:

TIMESTAMP(expr), TIMESTAMP(expr1,expr2)

Con un solo argumento, esta función devuelve la expresión de fecha o de fecha y hora expr como un valor de fecha y hora. Con dos argumentos, agrega la expresión de tiempo expr2 a la expresión de fecha o de fecha y hora expr1 y devuelve el resultado como un valor de fecha y hora.

mysql> SELECT TIMESTAMP('2003-12-31'); 
    -> '2003-12-31 00:00:00' 
mysql> SELECT TIMESTAMP('2003-12-31 12:00:00','12:00:00'); 
    -> '2004-01-01 00:00:00' 
+4

Esta debería ser la respuesta aceptada. –

+0

Sí, esta debería ser la respuesta aceptada. – kbro

Cuestiones relacionadas