Función TIMESTAMPDIFF() en MYSQL

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *