sql >> Databáze >  >> RDS >> MariaDB

MariaDB LOCALTIMESTAMP() Vysvětleno

V MariaDB, LOCALTIMESTAMP a LOCALTIMESTAMP() jsou synonyma pro NOW() .

NOW() funkce je vestavěná funkce data a času, která vrací aktuální datum a čas.

Čas je vrácen buď v 'YYYY-MM-DD HH:MM:SS' nebo YYYYMMDDHHMMSS.uuuuuu formát, v závislosti na tom, zda je funkce používána v řetězcovém nebo číselném kontextu.

Syntaxe

LOCALTIMESTAMP() lze použít následujícími způsoby:

LOCALTIMESTAMP
LOCALTIMESTAMP([precision])

Kde precision je mikrosekundová přesnost.

Alternativně můžete zavolat NOW() takhle:

NOW([precision])

Příklad

Zde je příklad:

SELECT 
    LOCALTIMESTAMP,
    LOCALTIMESTAMP(),
    NOW();

Výsledek:

+---------------------+---------------------+---------------------+
| LOCALTIMESTAMP      | LOCALTIMESTAMP()    | NOW()               |
+---------------------+---------------------+---------------------+
| 2021-05-10 09:11:33 | 2021-05-10 09:11:33 | 2021-05-10 09:11:33 |
+---------------------+---------------------+---------------------+

Vidíme, že všechny tři vrátí stejný výsledek.

Číselný kontext

Při použití v číselném kontextu je výsledný čas v YYYYMMDDHHMMSS.uuuuuu formát.

Příklad:

SELECT 
    LOCALTIMESTAMP,
    LOCALTIMESTAMP + 0,
    LOCALTIMESTAMP() + 0;

Výsledek:

+---------------------+--------------------+----------------------+
| LOCALTIMESTAMP      | LOCALTIMESTAMP + 0 | LOCALTIMESTAMP() + 0 |
+---------------------+--------------------+----------------------+
| 2021-05-10 09:11:49 |     20210510091149 |       20210510091149 |
+---------------------+--------------------+----------------------+

Přesnost

Při použití s ​​LOCALTIMESTAMP([precision]) syntaxi, můžete zadat přesnost na mikrosekundy pro výsledek.

Příklad:

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

Výsledek:

+----------------------------+-----------------------+
| LOCALTIMESTAMP(6)          | LOCALTIMESTAMP(6) + 0 |
+----------------------------+-----------------------+
| 2021-05-10 09:12:09.119326 | 20210510091209.119326 |
+----------------------------+-----------------------+

Maximální hodnota pro přesnost na mikrosekundy je 6. Co se stane, když je pro přesnost předáno vyšší číslo:

SELECT LOCALTIMESTAMP(7);

Výsledek:

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

Přidání k aktuálnímu časovému razítku

Existuje mnoho způsobů, jak provádět aritmetiku hodnot data a času v MariaDB.

Zde je příklad použití operátoru sčítání (+ ), chcete-li k datu přidat 2 dny:

SELECT 
    LOCALTIMESTAMP,
    LOCALTIMESTAMP + INTERVAL 2 DAY;

Výsledek:

+---------------------+---------------------------------+
| LOCALTIMESTAMP      | LOCALTIMESTAMP + INTERVAL 2 DAY |
+---------------------+---------------------------------+
| 2021-05-10 09:12:29 | 2021-05-12 09:12:29             |
+---------------------+---------------------------------+

Viz také funkce jako DATE_ADD() a ADDDATE() pro alternativní způsob přidání k aktuálnímu datu.

Odečítání od aktuálního data

Zde je příklad použití operátoru odčítání (- ) pro odečtení 10 dnů od aktuálního data:

SELECT 
    LOCALTIMESTAMP,
    LOCALTIMESTAMP - INTERVAL 10 DAY;

Výsledek:

+---------------------+----------------------------------+
| LOCALTIMESTAMP      | LOCALTIMESTAMP - INTERVAL 10 DAY |
+---------------------+----------------------------------+
| 2021-05-10 09:12:45 | 2021-04-30 09:12:45              |
+---------------------+----------------------------------+

Viz funkce jako DATE_SUB() a SUBDATE() pro alternativní způsob odečítání od aktuálního data.


  1. postgresql instalace jediné instance

  2. Jak používat model strojového učení KNN s 2UDA – PostgreSQL a Orange (část 1)

  3. SQLite SHOW TABLES Ekvivalent

  4. Jak provedu uloženou proceduru MS SQL Server v java/jsp a vrátím data tabulky?