sql >> Database >  >> RDS >> MariaDB

MariaDB CURRENT_TIME() uitgelegd

In MariaDB, CURRENT_TIME en CURRENT_TIME() zijn synoniemen voor CURTIME() .

De CURTIME() functie is een ingebouwde datum- en tijdfunctie die de huidige tijd retourneert.

De tijd wordt geretourneerd in 'HH:MM:SS' of HHMMSS.uuuuuu formaat, afhankelijk van of de functie in een string- of numerieke context wordt gebruikt.

Syntaxis

CURRENT_TIME() kan op de volgende manieren worden gebruikt:

CURRENT_TIME
CURRENT_TIME([precision])

Waar precision is de microseconde precisie.

U kunt ook CURTIME() . aanroepen zoals dit:

CURTIME([precision])

Voorbeeld

Hier is een voorbeeld:

SELECT 
    CURRENT_TIME,
    CURRENT_TIME(),
    CURTIME();

Resultaat:

+--------------+----------------+-----------+
| CURRENT_TIME | CURRENT_TIME() | CURTIME() |
+--------------+----------------+-----------+
| 09:59:13     | 09:59:13       | 09:59:13  |
+--------------+----------------+-----------+

We kunnen zien dat alle drie hetzelfde resultaat opleveren.

Numerieke context

Bij gebruik in een numerieke context is de resulterende tijd in HHMMSS.uuuuuu formaat.

Voorbeeld:

SELECT 
    CURRENT_TIME,
    CURRENT_TIME + 0,
    CURRENT_TIME() + 0;

Resultaat:

+--------------+------------------+--------------------+
| CURRENT_TIME | CURRENT_TIME + 0 | CURRENT_TIME() + 0 |
+--------------+------------------+--------------------+
| 10:00:29     |           100029 |             100029 |
+--------------+------------------+--------------------+

Precisie

Bij gebruik met de CURRENT_TIME([precision]) syntaxis, kunt u de precisie van microseconden voor het resultaat specificeren.

Voorbeeld:

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

Resultaat:

+-----------------+---------------------+
| CURRENT_TIME(3) | CURRENT_TIME(3) + 0 |
+-----------------+---------------------+
| 10:02:00.088    |          100200.088 |
+-----------------+---------------------+

De maximale waarde voor de precisie van microseconden is 6. Dit is wat er gebeurt als een hoger getal wordt doorgegeven voor de precisie:

SELECT CURRENT_TIME(12);

Resultaat:

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

Toevoegen aan de huidige tijd

Er zijn veel manieren om te rekenen op datums en tijden in MariaDB. U kunt dergelijke methoden gebruiken om een ​​aantal dagen, weken, uren, minuten, enz. toe te voegen.

Hier is een voorbeeld van het gebruik van de opteloperator (+ ) om 2 uur bij de tijd op te tellen:

SELECT 
    CURRENT_TIME,
    CURRENT_TIME + INTERVAL 2 HOUR;

Resultaat:

+--------------+--------------------------------+
| CURRENT_TIME | CURRENT_TIME + INTERVAL 2 HOUR |
+--------------+--------------------------------+
| 10:04:19     | 12:04:19                       |
+--------------+--------------------------------+

Zie ook functies zoals ADDTIME() voor een alternatieve manier om toe te voegen aan de huidige tijd.

Aftrekken van de huidige tijd

Hier is een voorbeeld van het gebruik van de aftrekkingsoperator (- ) om 2 uur van de huidige tijd af te trekken:

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

Resultaat:

+-----------+-----------------------------+
| CURTIME() | CURTIME() - INTERVAL 2 HOUR |
+-----------+-----------------------------+
| 10:05:14  | 08:05:14                    |
+-----------+-----------------------------+

Zie functies zoals SUBTIME() voor een alternatieve manier om af te trekken van de huidige tijd.


  1. moet ik c3p0-statement pooling activeren?

  2. Een primaire sleutel voor automatisch verhogen definiëren in PostgreSQL

  3. SQLite NOT NULL-beperking

  4. Slaapstand, Postgresql:Kolom x is van het type oid, maar expressie is van het type byte