sql >> Databasteknik >  >> RDS >> MariaDB

MariaDB LOCALTIME() Förklarad

I MariaDB, LOCALTIME och LOCALTIME() är synonymer för NOW() .

NOW() funktion är en inbyggd datum- och tidsfunktion som returnerar aktuellt datum och tid.

Tiden returneras i antingen 'YYYY-MM-DD HH:MM:SS' eller YYYYMMDDHHMMSS.uuuuuu format, beroende på om funktionen används i en sträng eller numerisk kontext.

Syntax

LOCALTIME() kan användas på följande sätt:

LOCALTIME
LOCALTIME([precision])

Där precision är mikrosekundsprecisionen.

Du kan alternativt anropa NOW() så här:

NOW([precision])

Exempel

Här är ett exempel:

SELECT 
    LOCALTIME,
    LOCALTIME(),
    NOW();

Resultat:

+---------------------+---------------------+---------------------+
| LOCALTIME           | LOCALTIME()         | NOW()               |
+---------------------+---------------------+---------------------+
| 2021-05-10 09:06:38 | 2021-05-10 09:06:38 | 2021-05-10 09:06:38 |
+---------------------+---------------------+---------------------+

Vi kan se att alla tre ger samma resultat.

Numerisk kontext

När den används i ett numeriskt sammanhang är den resulterande tiden i YYYYMMDDHHMMSS.uuuuuu format.

Exempel:

SELECT 
    LOCALTIME,
    LOCALTIME + 0,
    LOCALTIME() + 0;

Resultat:

+---------------------+----------------+-----------------+
| LOCALTIME           | LOCALTIME + 0  | LOCALTIME() + 0 |
+---------------------+----------------+-----------------+
| 2021-05-10 09:06:54 | 20210510090654 |  20210510090654 |
+---------------------+----------------+-----------------+

Precision

När den används med LOCALTIME([precision]) syntax kan du ange mikrosekundprecisionen för resultatet.

Exempel:

SELECT 
    LOCALTIME(6),
    LOCALTIME(6) + 0;

Resultat:

+----------------------------+-----------------------+
| LOCALTIME(6)               | LOCALTIME(6) + 0      |
+----------------------------+-----------------------+
| 2021-05-10 09:07:09.717031 | 20210510090709.717031 |
+----------------------------+-----------------------+

Det maximala värdet för mikrosekundprecisionen är 6. Så här händer när en högre siffra passeras för precisionen:

SELECT LOCALTIME(7);

Resultat:

ERROR 1426 (42000): Too big precision 7 specified for 'current_timestamp'. Maximum is 6

Lägga till i den aktuella tidsstämpeln

Det finns många sätt att utföra aritmetik på datetime-värden i MariaDB.

Här är ett exempel på hur man använder additionsoperatorn (+ ) för att lägga till 2 dagar till datumet:

SELECT 
    LOCALTIME,
    LOCALTIME + INTERVAL 2 DAY;

Resultat:

+---------------------+----------------------------+
| LOCALTIME           | LOCALTIME + INTERVAL 2 DAY |
+---------------------+----------------------------+
| 2021-05-10 09:07:42 | 2021-05-12 09:07:42        |
+---------------------+----------------------------+

Se även funktioner som DATE_ADD() och ADDDATE() för ett alternativt sätt att lägga till det aktuella datumet.

Att dra av från det aktuella datumet

Här är ett exempel på användning av subtraktionsoperatorn (- ) för att subtrahera 10 dagar från det aktuella datumet:

SELECT 
    LOCALTIME,
    LOCALTIME - INTERVAL 10 DAY;

Resultat:

+---------------------+-----------------------------+
| LOCALTIME           | LOCALTIME - INTERVAL 10 DAY |
+---------------------+-----------------------------+
| 2021-05-10 09:07:58 | 2021-04-30 09:07:58         |
+---------------------+-----------------------------+

Se funktioner som DATE_SUB() och SUBDATE() för ett alternativt sätt att subtrahera från det aktuella datumet.


  1. Hur kan jag infoga 10 miljoner poster på kortast möjliga tid?

  2. SQL-fel:ORA-02291:integritetsbegränsning

  3. Vad är T-SQL?

  4. TRUNC(nummer) Funktion i Oracle