Aqui estão algumas opções para subtrair um ou mais microssegundos de uma expressão de data e hora no MariaDB.
O SUBTIME() Função
O
SUBTIME() subtrai um determinado período de tempo de um valor de hora ou data e hora. Exemplo:
SELECT SUBTIME('2021-05-01 10:00:00', '00:00:00.123456'); Resultado:
+---------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:00.123456') |
+---------------------------------------------------+
| 2021-05-01 09:59:59.876544 |
+---------------------------------------------------+ Você também pode alterar as outras unidades de tempo, como horas, minutos, segundos, etc.
O DATE_SUB() Função
O
DATE_SUB() A função permite que você subtraia um certo número de unidades de data/hora de uma expressão de data ou data/hora. Portanto, podemos usar esta função para retornar o valor de data e hora, menos um certo número de microssegundos. Exemplo:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND); Resultado:
+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700 |
+-----------------------------------------------------------+ Observe que o
MICROSECOND palavra-chave permanece não plural, independentemente de você subtrair um microssegundo ou mais. Passando apenas a data
Veja o que acontece se fornecermos apenas um valor de data:
SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND); Resultado:
+------------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) |
+------------------------------------------------+
| 2021-04-30 23:59:59.999997 |
+------------------------------------------------+ Ele assume que a hora começa às 00:00:00 e, portanto, o
MICROSECOND valor é subtraído disso. O Operador de Subtração (- )
Outra maneira de subtrair um ou mais microssegundos de um valor de data e hora é usar o operador de subtração (
- ), também conhecido como operador de menos. Exemplo:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND; Resultado:
+-------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +-------------------------------------------------+
O operador de adição (+ )
Você também pode usar o operador de adição (
+ ) juntamente com um valor negativo. Exemplo:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND; Resultado:
+--------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +--------------------------------------------------+
Outras maneiras de subtrair microssegundos
Aqui estão algumas outras abordagens que você pode usar para subtrair um ou mais microssegundos de um valor de data e hora:
- O
SUBTIME()função. - O
ADDTIME()função (fornecer um valor negativo subtrairá esse valor do valor de data e hora). - O
SUBDATE()função (este é um sinônimo paraDATE_SUB()quando usado com a mesma sintaxe). - O
DATE_ADD()função (fornecer um valor negativo subtrairá esse valor do valor de data e hora). - O
ADDDATE()função (fornecer um valor negativo subtrairá esse valor do valor de data e hora).