Categories
Banco de dados Tutoriais

Como obter data e hora atuais no MySQL

Use as funções NOW(), CURDATE() e CURTIME(), entre outras, para obter a data e a hora atuais no servidor MySQL.

O MySQL tem funções específicas que permitem obter a data e a hora atual (do momento). Este dado pode ser usado em outras funções, declarações ou fornecidos a scripts externos, em PHP, Perl, Python etc.

Uma situação comum é uma aplicação necessitar “saber” qual a data ou hora atual a partir do seu servidor MySQL, tal como aquelas produzidas a partir datestamp ou timestamp.

Às vezes, a aplicação faz uso desta informação apenas para compor um log ou o nome de um arquivo (de backup, por exemplo).

Este tipo de informação, contudo, é muito útil para fazer cálculos envolvendo datas ou horários em relação à data e hora atual — e pode ser obtida através de 3 funções:

  • NOW() — retorna ambos, data e hora correntes
  • CURDATE() — retorna a data corrente
  • CURTIME() — retorna a hora corrente

Veja um exemplo simples rápido de uso destas funções (tudo em uma só linha de comando do MySQL):

SELECT CURDATE(), CURTIME(), NOW();
+------------+-----------+---------------------+
| CURDATE()  | CURTIME() | NOW()               |
+------------+-----------+---------------------+
| 2015-06-14 | 15:51:46  | 2015-06-14 15:51:46 |
+------------+-----------+---------------------+
1 row in set (0.00 sec)


… ou assim:

SELECT CURDATE() AS "Data ATual", CURTIME() AS "Hora atual", NOW() AS "Este momento";
+------------+------------+---------------------+
| Data ATual | Hora atual | Este momento        |
+------------+------------+---------------------+
| 2015-06-14 | 15:50:33   | 2015-06-14 15:50:33 |
+------------+------------+---------------------+
1 row in set (0.01 sec)


As funções CURRENT_TIMESTAMP() e SYSDATE(), são sinônimas de NOW(). Veja:

SELECT CURRENT_TIMESTAMP();
_
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2015-06-14 15:53:55 |
+---------------------+
1 row in set (0.00 sec)


ou

SELECT SYSDATE();
_
+---------------------+
| SYSDATE()           |
+---------------------+
| 2015-06-14 15:54:21 |
+---------------------+
1 row in set (0.00 sec)


Da mesma forma, CURRENT_DATE() e CURRENT_TIME() são sinônimos de CURDATE() e CURTIME(). Veja o exemplo:

SELECT CURRENT_DATE(), CURRENT_TIME();
_
+----------------+----------------+
| CURRENT_DATE() | CURRENT_TIME() |
+----------------+----------------+
| 2015-06-14     | 16:07:13       |
+----------------+----------------+
1 row in set (0.00 sec)

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.