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

Subtrair microssegundos de um valor de data e hora no MariaDB


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 para DATE_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).