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.