sql >> Databasteknik >  >> RDS >> Mysql

TIMESTAMPADD() Exempel – MySQL

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 SECONDMINUTEHOURDAYWEEKMONTHQUARTER , 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.


  1. Implementera sökning (hoppa över / ta) funktionalitet med denna fråga

  2. Fråga efter MySQL:s INFORMATIONSSCHEMA:Varför? På vilket sätt?

  3. Saknar artefakt com.microsoft.sqlserver:sqljdbc4:jar:4.0

  4. SQL Hämta alla poster äldre än 30 dagar