sql >> Databasteknik >  >> RDS >> MariaDB

Hur CURTIME() fungerar i MariaDB

I MariaDB, CURTIME() är en inbyggd datum- och tidsfunktion som returnerar aktuell tid.

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

Du har också möjlighet att ange mikrosekundprecisionen.

Syntax

Syntaxen ser ut så här:

CURTIME([precision])

Där precision är ett valfritt argument som anger mikrosekundsprecisionen.

Den har också följande synonymer:

CURRENT_TIME
CURRENT_TIME([precision])

Exempel

Här är ett exempel:

SELECT CURTIME();

Resultat:

+-----------+
| CURTIME() |
+-----------+
| 09:30:12  |
+-----------+

Numerisk kontext

När CURTIME() används i ett numeriskt sammanhang, är den resulterande tiden i HHMMSS.uuuuuu format.

Exempel:

SELECT
    CURTIME(),
    CURTIME() + 0;

Resultat:

+-----------+---------------+
| CURTIME() | CURTIME() + 0 |
+-----------+---------------+
| 09:31:39  |         93139 |
+-----------+---------------+

Precision

Här är ett exempel på att specificera mikrosekundprecision:

SELECT
    CURTIME(3),
    CURTIME(3) + 0;

Resultat:

+--------------+----------------+
| CURTIME(3)   | CURTIME(3) + 0 |
+--------------+----------------+
| 09:32:44.678 |      93244.678 |
+--------------+----------------+

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 CURTIME(12);

Resultat:

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

Synonymer

CURRENT_TIME och CURRENT_TIME() är synonymer till CURTIME() . Därför kan vi använda båda för att få samma resultat.

Exempel:

SELECT 
    CURTIME(),
    CURRENT_TIME,
    CURRENT_TIME();

Resultat:

+-----------+--------------+----------------+
| CURTIME() | CURRENT_TIME | CURRENT_TIME() |
+-----------+--------------+----------------+
| 09:33:32  | 09:33:32     | 09:33:32       |
+-----------+--------------+----------------+

Lägg till aktuell tid

Det finns många sätt att utföra aritmetik på tidsvärden i MariaDB. Du kan använda sådana metoder för att lägga till ett antal timmar, minuter, sekunder, etc.

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

SELECT 
    CURTIME(),
    CURTIME() + INTERVAL 2 HOUR;

Resultat:

+-----------+-----------------------------+
| CURTIME() | CURTIME() + INTERVAL 2 HOUR |
+-----------+-----------------------------+
| 09:35:03  | 11:35:03                    |
+-----------+-----------------------------+

Se även funktioner som ADDTIME() för ett alternativt sätt att lägga till den aktuella tiden.

Att dra av från den aktuella tiden

Här är ett exempel på hur du använder subtraktionsoperatorn (- ) för att subtrahera 2 timmar från den aktuella tiden:

SELECT 
    CURTIME(),
    CURTIME() - INTERVAL 2 HOUR;

Resultat:

+-----------+-----------------------------+
| CURTIME() | CURTIME() - INTERVAL 2 HOUR |
+-----------+-----------------------------+
| 09:35:41  | 07:35:41                    |
+-----------+-----------------------------+

Se funktioner som SUBTIME() för ett alternativt sätt att subtrahera från den aktuella tiden.


  1. mysql pivotfrågeresultat med GROUP BY

  2. Hur man gör en LEFT SEMI JOIN i SQL Server

  3. Oracle Trigger ORA-04098:triggern är ogiltig och misslyckad omvalidering

  4. Hur tolkas sql med rekursivt uttalande?