No MariaDB,
CURRENT_TIMESTAMP e CURRENT_TIMESTAMP() 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
CURRENT_TIMESTAMP() pode ser usado das seguintes maneiras:CURRENT_TIMESTAMP
CURRENT_TIMESTAMP([precision]) Onde
precision é a precisão de microssegundos. Você também pode chamar
NOW() assim:NOW([precision]) Exemplo
Aqui está um exemplo:
SELECT
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP(),
NOW(); Resultado:
+---------------------+---------------------+---------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP() | NOW() | +---------------------+---------------------+---------------------+ | 2021-05-09 15:46:30 | 2021-05-09 15:46:30 | 2021-05-09 15:46:30 | +---------------------+---------------------+---------------------+
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
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP + 0,
CURRENT_TIMESTAMP() + 0; Resultado:
+---------------------+-----------------------+-------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP + 0 | CURRENT_TIMESTAMP() + 0 | +---------------------+-----------------------+-------------------------+ | 2021-05-09 15:47:12 | 20210509154712 | 20210509154712 | +---------------------+-----------------------+-------------------------+
Precisão
Quando usado com o
CURRENT_TIMESTAMP([precision]) sintaxe, você pode especificar a precisão de microssegundos para o resultado. Exemplo:
SELECT
CURRENT_TIMESTAMP(6),
CURRENT_TIMESTAMP(6) + 0; Resultado:
+----------------------------+--------------------------+ | CURRENT_TIMESTAMP(6) | CURRENT_TIMESTAMP(6) + 0 | +----------------------------+--------------------------+ | 2021-05-09 15:47:39.508987 | 20210509154739.508987 | +----------------------------+--------------------------+
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 CURRENT_TIMESTAMP(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
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP + INTERVAL 2 DAY; Resultado:
+---------------------+------------------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP + INTERVAL 2 DAY | +---------------------+------------------------------------+ | 2021-05-09 15:49:01 | 2021-05-11 15:49:01 | +---------------------+------------------------------------+
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
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP - INTERVAL 10 DAY; Resultado:
+---------------------+-------------------------------------+ | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP - INTERVAL 10 DAY | +---------------------+-------------------------------------+ | 2021-05-09 15:49:28 | 2021-04-29 15:49:28 | +---------------------+-------------------------------------+
Veja funções como
DATE_SUB() e SUBDATE() para uma forma alternativa de subtrair da data atual.