sql >> Base de Datos >  >> RDS >> MariaDB

Explicación de MariaDB CURRENT_TIME()

En MariaDB, CURRENT_TIME y CURRENT_TIME() son sinónimos de CURTIME() .

El CURTIME() La función es una función de fecha y hora integrada que devuelve la hora actual.

La hora se devuelve en 'HH:MM:SS' o HHMMSS.uuuuuu dependiendo de si la función se usa en un contexto de cadena o numérico.

Sintaxis

CURRENT_TIME() se puede utilizar de las siguientes maneras:

CURRENT_TIME
CURRENT_TIME([precision])

Donde precision es la precisión de microsegundos.

Alternativamente, puede llamar a CURTIME() así:

CURTIME([precision])

Ejemplo

He aquí un ejemplo:

SELECT 
    CURRENT_TIME,
    CURRENT_TIME(),
    CURTIME();

Resultado:

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

Podemos ver que los tres devuelven el mismo resultado.

Contexto numérico

Cuando se usa en un contexto numérico, el tiempo resultante está en HHMMSS.uuuuuu formato.

Ejemplo:

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

Resultado:

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

Precisión

Cuando se usa con CURRENT_TIME([precision]) sintaxis, puede especificar la precisión de microsegundos para el resultado.

Ejemplo:

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

Resultado:

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

El valor máximo para la precisión de microsegundos es 6. Esto es lo que sucede cuando se pasa un número más alto para la precisión:

SELECT CURRENT_TIME(12);

Resultado:

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

Agregar a la hora actual

Hay muchas formas de realizar operaciones aritméticas en fechas y horas en MariaDB. Puede utilizar dichos métodos para agregar una cantidad de días, semanas, horas, minutos, etc.

Aquí hay un ejemplo del uso del operador de suma (+ ) para agregar 2 horas al tiempo:

SELECT 
    CURRENT_TIME,
    CURRENT_TIME + INTERVAL 2 HOUR;

Resultado:

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

También vea funciones como ADDTIME() para una forma alternativa de agregar a la hora actual.

Restar de la hora actual

Aquí hay un ejemplo del uso del operador de resta (- ) para restar 2 horas a la hora actual:

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

Resultado:

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

Ver funciones como SUBTIME() para una forma alternativa de restar de la hora actual.