TIMESTAMPDIFF() :
Esta función en MySQL se usa para devolver un valor después de restar una expresión DateTime de otra.
Sintaxis:
TIMESTAMPDIFF(unit,expr1,expr2)
Parámetros:
Aceptará tres parámetros.
- unit –
Denota la unidad para el resultado. Puede ser uno de los siguientes.
MICROSEGUNDO, SEGUNDO, MINUTO, HORA, DÍA, SEMANA, MES, TRIMESTRE, AÑO
- expr1:
expresiones de primera fecha o fecha y hora.
- expr2:
expresiones de segunda fecha o fecha y hora.
Devoluciones :
Devuelve las expresiones DateTime después de la resta.
Ejemplo 1 :
Obtener las diferencias entre dos valores de tiempo especificados donde el tiempo se especifica en el formato AAAA-MM-DD HH-MM-SS. Aquí expr2 es mayor que expr1, por lo que el valor devuelto es positivo.
SELECT TIMESTAMPDIFF(SECOND, '2010-01-01 10:10:20', '2010-01-01 10:45:59') AS SECONDDIFFERENCE;
Producción :
SEGUNDA DIFERENCIA |
---|
2139 |
Ejemplo 2:
Obtener las diferencias entre dos valores de tiempo especificados donde el tiempo se especifica en el formato AAAA-MM-DD HH-MM-SS. Aquí expr2 es menor que expr1, por lo que el valor de retorno es negativo.
SELECT TIMESTAMPDIFF(SECOND, '2010-01-01 10:10:20', '2010-01-01 09:45:59') AS SECONDDIFFERENCE;
Producción:
SEGUNDA DIFERENCIA |
---|
-1461 |
Ejemplo 3:
Obtener las diferencias entre dos valores de fecha especificados en el mes cuando la fecha se especifica en el formato AAAA-MM-DD.
SELECT TIMESTAMPDIFF(MONTH, '2019-08-01', '2020-11-01') AS MONTHDIFFERENCE;
Producción:
DIFERENCIA DE MESES |
---|
15 |
Ejemplo 4:
Cálculo de la experiencia laboral total de un empleado utilizando la función TIMESTAMPDIFF.
Creación de una tabla de empleados –
CREATE TABLE Employee( id INT AUTO_INCREMENT PRIMARY KEY, Full_Name VARCHAR(50) NOT NULL, Joining_Date DATE NOT NULL );
Insertar valores en la tabla –
INSERT INTO Employee(Full_Name , Joining_Date ) VALUES('Riya Jana', '2000-01-01'), ('Sayan Ghosh', '2005-09-26'), ('Rinki Sharma', '2014-08-12'), ('Aniket Singh', '2019-11-05');
Ahora, usaremos TIMESTAMPDIFF para calcular la experiencia laboral de cada empleado en el año.
SELECT id, Full_Name, Joining_Date , TIMESTAMPDIFF(YEAR, Joining_Date,'2020-11-26') AS WorkExperience FROM Employee ;
Producción :
IDENTIFICACIÓN | NOMBRE COMPLETO | DIA DE INGRESO | EXPERIENCIA LABORAL |
---|---|---|---|
1 | Riya Jana | 2000-01-01 | 20 |
2 | Sayan Ghosh | 2005-09-26 | 15 |
3 | Rinki Sharma | 2014-08-12 | 6 |
4 | Aniket Singh | 2019-11-05 | 1 |
Publicación traducida automáticamente
Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA