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

MariaDB LOCALTIME() Vysvětleno

V MariaDB, LOCALTIME a LOCALTIME() 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

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

LOCALTIME
LOCALTIME([precision])

Kde precision je mikrosekundová přesnost.

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

NOW([precision])

Příklad

Zde je příklad:

SELECT 
    LOCALTIME,
    LOCALTIME(),
    NOW();

Výsledek:

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

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 
    LOCALTIME,
    LOCALTIME + 0,
    LOCALTIME() + 0;

Výsledek:

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

Přesnost

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

Příklad:

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

Výsledek:

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

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

SELECT LOCALTIME(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 
    LOCALTIME,
    LOCALTIME + INTERVAL 2 DAY;

Výsledek:

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

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 
    LOCALTIME,
    LOCALTIME - INTERVAL 10 DAY;

Výsledek:

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

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


  1. Resetujte primární klíč PostgreSQL na 1

  2. Android Studio 3.0 canary 1 :Chyba syntaxe SQL

  3. MySQL Vytvářejte příkazy View, Nahraďte View a Drop View s příklady

  4. Jak mohu nastavit připojovací řetězec SQL Server?