I MySQL er TIMESTAMPADD()
funktionen giver dig mulighed for at tilføje en bestemt mængde tid til en dato eller datetime værdi. Du angiver den enhed, der skal tilføjes, samt hvor mange af den enhed, der skal tilføjes. Det accepterer tre argumenter, der bruges til den oprindelige værdi, det beløb, der skal tilføjes, og enheden, der skal bruges.
Syntaks
Syntaksen ser sådan ud:
TIMESTAMPADD(unit,interval,datetime_expr)
Hvor unit
er den enhed, der skal tilføjes, interval
er hvor mange af enhederne der skal tilføjes, og datetime_expr
er startdatoen eller datotidsværdien.
Enhedsargumentet kan enten være MICROSECOND
SECOND
, MINUTE
, HOUR
, DAY
, WEEK
, MONTH
, QUARTER
eller YEAR
.
Enhedsargumentet kan også have præfikset SQL_TSI_
. For eksempel kan du bruge enten DAY
eller SQL_TSI_DAY
.
Eksempel 1 – Tilføj en dag
I dette eksempel tilføjer jeg en dag til startdatoen.
SELECT TIMESTAMPADD(DAY, 1, '1999-12-31');
Resultat:
+------------------------------------+ | TIMESTAMPADD(DAY, 1, '1999-12-31') | +------------------------------------+ | 2000-01-01 | +------------------------------------+
Eksempel 2 – Tilføj en anden
I dette eksempel tilføjer jeg et sekund til startdatoen.
SELECT TIMESTAMPADD(SECOND, 1, '1999-12-31');
Resultat:
+---------------------------------------+ | TIMESTAMPADD(SECOND, 1, '1999-12-31') | +---------------------------------------+ | 1999-12-31 00:00:01 | +---------------------------------------+
Resultatet er nu en datetime-værdi for at returnere sekunddelen.
Eksempel 3 – Tilføj et mikrosekund
Det foregående eksempel kan tages et skridt videre, og vi kan tilføje en brøkdel af sekunder. I dette eksempel tilføjer jeg et mikrosekund til startdatoen.
SELECT TIMESTAMPADD(MICROSECOND, 1, '1999-12-31');
Resultat:
+--------------------------------------------+ | TIMESTAMPADD(MICROSECOND, 1, '1999-12-31') | +--------------------------------------------+ | 1999-12-31 00:00:00.000001 | +--------------------------------------------+
Eksempel 4 – Brug af et SQL_TSI_-præfiks
Som nævnt kan enheden inkludere en SQL_TSI_
præfiks.
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 bruge TIMESTAMP()
funktion til at tilføje flere tidsdele til en dato eller datetime-værdi på én gang. Så for eksempel kan du tilføje 12:35:26.123456 til en dato, hvis du ønsker det.
For mere om denne funktion, se TIMESTAMP()
Eksempler.