Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Exemplos de TIMESTAMP() – MySQL


No MySQL, o TIMESTAMP() A função retorna um valor de data e hora com base no(s) argumento(s) passado(s). Você pode fornecer um ou dois argumentos. Se você fornecer dois, ele adicionará o segundo ao primeiro e retornará o resultado.


Sintaxe


Você pode usar um destes dois formulários:
TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

O primeiro argumento (expr e expr1 ) é uma expressão de data ou data/hora. O segundo argumento (expr2 ) é uma expressão de tempo. Se você fornecer dois argumentos, expr2 é adicionado a expr1 e o resultado é um valor de data e hora.

Exemplo 1 - Forneça um argumento de 'data'


Neste exemplo, forneço uma expressão de data.
SELECT TIMESTAMP('1999-12-31');

Resultado:
+-------------------------+
| TIMESTAMP('1999-12-31') |
+-------------------------+
| 1999-12-31 00:00:00     |
+-------------------------+

Portanto, o resultado é um valor de data e hora, independentemente de nosso argumento ser uma expressão de data ou data e hora.

Exemplo 2 – Forneça um argumento 'datetime'


E aqui está um exemplo usando uma expressão de data e hora.
SELECT TIMESTAMP('1999-12-31 23:59:59');

Resultado:
+----------------------------------+
| TIMESTAMP('1999-12-31 23:59:59') |
+----------------------------------+
| 1999-12-31 23:59:59              |
+----------------------------------+

Exemplo 3 – Incluir segundos fracionários


Você também pode incluir uma parte de segundos fracionários até microssegundos (6 dígitos). Quando você fizer isso, o resultado também incluirá essa parte.
SELECT TIMESTAMP('1999-12-31 23:59:59.999999');

Resultado:
+-----------------------------------------+
| TIMESTAMP('1999-12-31 23:59:59.999999') |
+-----------------------------------------+
| 1999-12-31 23:59:59.999999              |
+-----------------------------------------+

Exemplo 4 – Fornecendo 2 argumentos


Aqui está um exemplo usando dois argumentos. Como mencionado, o segundo é adicionado ao primeiro.
SELECT TIMESTAMP('1999-12-31', '12:30:45');

Resultado:
+-------------------------------------+
| TIMESTAMP('1999-12-31', '12:30:45') |
+-------------------------------------+
| 1999-12-31 12:30:45                 |
+-------------------------------------+

Exemplo 5 - Valores de 'tempo' maiores


O tipo de dados de hora pode ter um intervalo de -838:59:59 para 838:59:59 . Isso ocorre porque não se limita apenas a representar a hora do dia. Também pode ser usado para representar o tempo decorrido. Nesse caso, usamos para adicionar um grande número de horas a um valor de data.
SELECT TIMESTAMP('1999-12-31', '400:30:45');

Resultado:
+--------------------------------------+
| TIMESTAMP('1999-12-31', '400:30:45') |
+--------------------------------------+
| 2000-01-16 16:30:45                  |
+--------------------------------------+

Exemplo 6 – Valores negativos


Você pode subtrair o segundo argumento do primeiro, simplesmente prefixando o segundo valor com um sinal de menos.
SELECT TIMESTAMP('1999-12-31', '-400:30:45');

Resultado:
+---------------------------------------+
| TIMESTAMP('1999-12-31', '-400:30:45') |
+---------------------------------------+
| 1999-12-14 07:29:15                   |
+---------------------------------------+

Exemplo 7 – Usando a data atual


Se você quiser um carimbo de data/hora que use a data atual, talvez esteja mais interessado em funções como NOW() , CURDATE() , e possivelmente até SYSDATE() (para a diferença, veja SYSDATE() vs NOW() ).

No entanto, o TIMESTAMP() function ainda pode ser sua função preferida em certos casos, por exemplo, se você quiser adicionar um valor de hora à data atual.
SELECT 
    TIMESTAMP(CURDATE()) AS 'Today',
    TIMESTAMP(CURDATE(), '24:00:00') AS 'Tomorrow';

Resultado:
+---------------------+---------------------+
| Today               | Tomorrow            |
+---------------------+---------------------+
| 2018-07-03 00:00:00 | 2018-07-04 00:00:00 |
+---------------------+---------------------+

A função TIMESTAMPADD()


Você pode usar o TIMESTAMPADD() função para adicionar uma unidade especificada a um valor de data ou data e hora. Esta função também aceita unidades como dias, meses, anos, etc.

Se você encontrar TIMESTAMP() muito restritivo para suas necessidades, veja TIMESTAMPADD() Exemplos.