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.