No MySQL, o
TIMESTAMPADD()
A função permite adicionar uma quantidade de tempo especificada a um valor de data ou data e hora. Você especifica a unidade a ser adicionada, bem como quantas unidades dessa unidade serão adicionadas. Ele aceita três argumentos, que são usados para o valor inicial, o valor a ser adicionado e a unidade a ser usada. Sintaxe
A sintaxe fica assim:
TIMESTAMPADD(unit,interval,datetime_expr)
Onde
unit
é a unidade a ser adicionada, interval
é quantas unidades adicionar e datetime_expr
é a data inicial ou valor de data e hora. O argumento da unidade pode ser
MICROSECOND
SECOND
, MINUTE
, HOUR
, DAY
, WEEK
, MONTH
, QUARTER
, ou YEAR
. O argumento de unidade também pode ter um prefixo de
SQL_TSI_
. Por exemplo, você pode usar DAY
ou SQL_TSI_DAY
. Exemplo 1 – Adicionar um dia
Neste exemplo, adiciono um dia à data inicial.
SELECT TIMESTAMPADD(DAY, 1, '1999-12-31');
Resultado:
+------------------------------------+ | TIMESTAMPADD(DAY, 1, '1999-12-31') | +------------------------------------+ | 2000-01-01 | +------------------------------------+
Exemplo 2 – Adicionar um segundo
Neste exemplo, adiciono um segundo à data inicial.
SELECT TIMESTAMPADD(SECOND, 1, '1999-12-31');
Resultado:
+---------------------------------------+ | TIMESTAMPADD(SECOND, 1, '1999-12-31') | +---------------------------------------+ | 1999-12-31 00:00:01 | +---------------------------------------+
O resultado agora é um valor de data e hora para retornar a parte dos segundos.
Exemplo 3 – Adicionar um microssegundo
O exemplo anterior pode ser levado um passo adiante e podemos adicionar uma parte de segundos fracionários. Neste exemplo, adiciono um microssegundo à data inicial.
SELECT TIMESTAMPADD(MICROSECOND, 1, '1999-12-31');
Resultado:
+--------------------------------------------+ | TIMESTAMPADD(MICROSECOND, 1, '1999-12-31') | +--------------------------------------------+ | 1999-12-31 00:00:00.000001 | +--------------------------------------------+
Exemplo 4 – Usando um prefixo SQL_TSI_
Como mencionado, a unidade pode incluir um
SQL_TSI_
prefixo. SELECT TIMESTAMPADD(SQL_TSI_YEAR, 1, '1999-12-31');
Resultado:
+---------------------------------------------+ | TIMESTAMPADD(SQL_TSI_YEAR, 1, '1999-12-31') | +---------------------------------------------+ | 2000-12-31 | +---------------------------------------------+
A função TIMESTAMP()
Você pode usar o
TIMESTAMP()
função para adicionar várias partes de tempo a um valor de data ou data e hora de uma só vez. Por exemplo, você pode adicionar 12:35:26.123456 a uma data, se desejar. Para saber mais sobre esta função, veja
TIMESTAMP()
Exemplos.