Como obtener la fecha actual en Mysql (Now – CURDATE())

Algunas veces necesitamos obtener la fecha actual en Mysql y lograr esto es muy fácil con un par de funciones que trae Mysql.

Colabora y Suscribete a mi canal de   

 

Usando estas funciones dependiendo de lo que se necesite:

NOW() – Devuelve la fecha y hora actuales, ejemplo: 2019-01-30 21:07:29
CURDATE() – Devuelve la fecha actual, ejemplo: 2019-01-30

Para mostrar el ejemplo vamos a suponer que tenemos la siguiente tabla:

CREATE TABLE `usuarios` (
  `id_usuarios` int(11) NOT NULL AUTO_INCREMENT,
  `usuario_us` varchar(15) NOT NULL,
  `password_us` varchar(40) NOT NULL,
  `nombre_usuario` varchar(40) NOT NULL,
  `fecha_create` datetime NOT NULL,
  PRIMARY KEY (`id_usuarios`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

Si quiero insertar un registro a esta tabla y que me guarde la fecha y hora actual del servidor la sentencia quedaría de la siguiente manera usando NOW:

INSERT INTO `usuarios` (`id_usuarios`, `usuario_us`, `password_us`, `nombre_usuario`, `fecha_create`) 
VALUES (1, 'admin', '9a47197e4d7540dcbe13735952dcfa39', 'Luis Fernando Martinez', NOW);

O si el campo fecha es de Tipo DATE podemos usar  CURDATE()

CREATE TABLE `usuarios` (
  `id_usuarios` int(11) NOT NULL AUTO_INCREMENT,
  `usuario_us` varchar(15) NOT NULL,
  `password_us` varchar(40) NOT NULL,
  `nombre_usuario` varchar(40) NOT NULL,
  `fecha_create` date NOT NULL,
  PRIMARY KEY (`id_usuarios`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
INSERT INTO `usuarios` (`id_usuarios`, `usuario_us`, `password_us`, `nombre_usuario`, `fecha_create`)
 VALUES (1, 'admin', '9a47197e4d7540dcbe13735952dcfa39', 'Luis Fernando Martinez', CURDATE());

Lo otro que se puede hacer también es decirle a mysql que tome como default la fecha hora actual o fecha actual, la tabla quedaría de la siguiente manera.

CREATE TABLE `usuarios` (
  `id_usuarios` int(11) NOT NULL AUTO_INCREMENT,
  `usuario_us` varchar(15) NOT NULL,
  `password_us` varchar(40) NOT NULL,
  `nombre_usuario` varchar(40) NOT NULL,
  `fecha_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
  PRIMARY KEY (`id_usuarios`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

Si vemos le especificamos como DEFAULT  CURRENT_TIMESTAMP que le indica a MySQL que tome la fecha y hora actual.

 

 

Total Page Visits: 9466 - Today Page Visits: 3

Deja una respuesta