I MySQL, TIMESTAMPADD()
Med funktionen kan du lägga till en angiven tid till ett datum eller datetime-värde. Du anger vilken enhet som ska läggas till, samt hur många av den enheten som ska läggas till. Den accepterar tre argument, som används för initialvärdet, beloppet som ska läggas till och enheten som ska användas.
Syntax
Syntaxen ser ut så här:
TIMESTAMPADD(unit,interval,datetime_expr)
Där unit
är enheten att lägga till, interval
är hur många av enheterna som ska läggas till och datetime_expr
är det initiala datumet eller datetime-värdet.
Enhetsargumentet kan vara antingen MICROSECOND
SECOND
, MINUTE
, HOUR
, DAY
, WEEK
, MONTH
, QUARTER
, eller YEAR
.
Enhetsargumentet kan också ha prefixet SQL_TSI_
. Du kan till exempel använda antingen DAY
eller SQL_TSI_DAY
.
Exempel 1 – Lägg till en dag
I det här exemplet lägger jag till en dag till startdatumet.
SELECT TIMESTAMPADD(DAY, 1, '1999-12-31');
Resultat:
+------------------------------------+ | TIMESTAMPADD(DAY, 1, '1999-12-31') | +------------------------------------+ | 2000-01-01 | +------------------------------------+
Exempel 2 – Lägg till en andra
I det här exemplet lägger jag till en sekund till startdatumet.
SELECT TIMESTAMPADD(SECOND, 1, '1999-12-31');
Resultat:
+---------------------------------------+ | TIMESTAMPADD(SECOND, 1, '1999-12-31') | +---------------------------------------+ | 1999-12-31 00:00:01 | +---------------------------------------+
Resultatet är nu ett datetime-värde för att returnera sekunddelen.
Exempel 3 – Lägg till en mikrosekund
Det föregående exemplet kan tas ett steg längre och vi kan lägga till en bråkdelssekundersdel. I det här exemplet lägger jag till en mikrosekund till startdatumet.
SELECT TIMESTAMPADD(MICROSECOND, 1, '1999-12-31');
Resultat:
+--------------------------------------------+ | TIMESTAMPADD(MICROSECOND, 1, '1999-12-31') | +--------------------------------------------+ | 1999-12-31 00:00:00.000001 | +--------------------------------------------+
Exempel 4 – Använda ett SQL_TSI_-prefix
Som nämnts kan enheten inkludera en SQL_TSI_
prefix.
SELECT TIMESTAMPADD(SQL_TSI_YEAR, 1, '1999-12-31');
Resultat:
+---------------------------------------------+ | TIMESTAMPADD(SQL_TSI_YEAR, 1, '1999-12-31') | +---------------------------------------------+ | 2000-12-31 | +---------------------------------------------+
Funktionen TIMESTAMP()
Du kan använda TIMESTAMP()
funktion för att lägga till flera tidsdelar till ett datum eller datetime-värde samtidigt. Så till exempel kan du lägga till 12:35:26.123456 till ett datum om du vill.
För mer om den här funktionen, se TIMESTAMP()
Exempel.