MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

MariaDB LOCALTIMESTAMP() Explicado


No MariaDB, LOCALTIMESTAMP e LOCALTIMESTAMP() são sinônimos de NOW() .

O NOW() function é uma função de data e hora integrada que retorna a data e a hora atuais.

A hora é retornada em 'YYYY-MM-DD HH:MM:SS' ou YYYYMMDDHHMMSS.uuuuuu formato, dependendo se a função está sendo usada em uma string ou contexto numérico.

Sintaxe


LOCALTIMESTAMP() pode ser usado das seguintes maneiras:
LOCALTIMESTAMP
LOCALTIMESTAMP([precision])

Onde precision é a precisão de microssegundos.

Você também pode chamar NOW() assim:
NOW([precision])

Exemplo


Aqui está um exemplo:
SELECT 
    LOCALTIMESTAMP,
    LOCALTIMESTAMP(),
    NOW();

Resultado:
+---------------------+---------------------+---------------------+
| LOCALTIMESTAMP      | LOCALTIMESTAMP()    | NOW()               |
+---------------------+---------------------+---------------------+
| 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 |
+---------------------+---------------------+---------------------+

Podemos ver que todos os três retornam o mesmo resultado.

Contexto Numérico


Quando usado em um contexto numérico, o tempo resultante está em YYYYMMDDHHMMSS.uuuuuu formato.

Exemplo:
SELECT 
    LOCALTIMESTAMP,
    LOCALTIMESTAMP + 0,
    LOCALTIMESTAMP() + 0;

Resultado:
+---------------------+--------------------+----------------------+
| LOCALTIMESTAMP      | LOCALTIMESTAMP + 0 | LOCALTIMESTAMP() + 0 |
+---------------------+--------------------+----------------------+
| 2021-05-10 09:11:49 |     20210510091149 |       20210510091149 |
+---------------------+--------------------+----------------------+

Precisão


Quando usado com o LOCALTIMESTAMP([precision]) sintaxe, você pode especificar a precisão de microssegundos para o resultado.

Exemplo:
SELECT 
    LOCALTIMESTAMP(6),
    LOCALTIMESTAMP(6) + 0;

Resultado:
+----------------------------+-----------------------+
| LOCALTIMESTAMP(6)          | LOCALTIMESTAMP(6) + 0 |
+----------------------------+-----------------------+
| 2021-05-10 09:12:09.119326 | 20210510091209.119326 |
+----------------------------+-----------------------+

O valor máximo para a precisão de microssegundos é 6. Veja o que acontece quando um número mais alto é passado para a precisão:
SELECT LOCALTIMESTAMP(7);

Resultado:
ERROR 1426 (42000): Too big precision 7 specified for 'current_timestamp'. Maximum is 6

Adicionando ao carimbo de data/hora atual


Há muitas maneiras de realizar aritmética em valores de data e hora no MariaDB.

Aqui está um exemplo de uso do operador de adição (+ ) para adicionar 2 dias à data:
SELECT 
    LOCALTIMESTAMP,
    LOCALTIMESTAMP + INTERVAL 2 DAY;

Resultado:
+---------------------+---------------------------------+
| LOCALTIMESTAMP      | LOCALTIMESTAMP + INTERVAL 2 DAY |
+---------------------+---------------------------------+
| 2021-05-10 09:12:29 | 2021-05-12 09:12:29             |
+---------------------+---------------------------------+

Veja também funções como DATE_ADD() e ADDDATE() para uma maneira alternativa de adicionar à data atual.

Subtraindo da data atual


Aqui está um exemplo de uso do operador de subtração (- ) para subtrair 10 dias da data atual:
SELECT 
    LOCALTIMESTAMP,
    LOCALTIMESTAMP - INTERVAL 10 DAY;

Resultado:
+---------------------+----------------------------------+
| LOCALTIMESTAMP      | LOCALTIMESTAMP - INTERVAL 10 DAY |
+---------------------+----------------------------------+
| 2021-05-10 09:12:45 | 2021-04-30 09:12:45              |
+---------------------+----------------------------------+

Veja funções como DATE_SUB() e SUBDATE() para uma forma alternativa de subtrair da data atual.