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

Cómo funciona CURTIME() en MariaDB

En MariaDB, CURTIME() 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.

También tiene la opción de especificar la precisión de microsegundos.

Sintaxis

La sintaxis es así:

CURTIME([precision])

Donde precision es un argumento opcional que especifica la precisión de microsegundos.

También tiene los siguientes sinónimos:

CURRENT_TIME
CURRENT_TIME([precision])

Ejemplo

He aquí un ejemplo:

SELECT CURTIME();

Resultado:

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

Contexto numérico

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

Ejemplo:

SELECT
    CURTIME(),
    CURTIME() + 0;

Resultado:

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

Precisión

Aquí hay un ejemplo de cómo especificar una precisión de microsegundos:

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

Resultado:

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

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

Resultado:

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

Sinónimos

CURRENT_TIME y CURRENT_TIME() son sinónimos de CURTIME() . Por lo tanto, podemos usar cualquiera de los dos para obtener el mismo resultado.

Ejemplo:

SELECT 
    CURTIME(),
    CURRENT_TIME,
    CURRENT_TIME();

Resultado:

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

Agregar a la hora actual

Hay muchas formas de realizar aritmética en valores de tiempo en MariaDB. Puede usar tales métodos para agregar una cantidad de horas, minutos, segundos, etc.

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

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

Resultado:

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

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 |
+-----------+-----------------------------+
| 09:35:41  | 07:35:41                    |
+-----------+-----------------------------+

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