Trabajar con mysql-mariadb fecha y hora

Trabajar con mysql-mariadb fecha y hora
En este artículo, le mostraré cómo trabajar con la fecha, la hora y los tipos de datos de la hora y la hora de fecha. Entonces empecemos.

Prerrequisitos:

Debes tener instalado mysql o mariadb en tu sistema operativo Linux (yo.mi. Centos/Rhel, Ubuntu/Debian). Si necesita ayuda para instalar MySQL/MariadB, hay muchos artículos en Linuxhint.com que puedes comprobar.

Creación de tablas y filas ficticias:

Usaré un cumpleaños Tabla para demostrar cómo trabajar con los tipos de datos de fecha y hora en este artículo. La mesa de cumpleaños tiene un nombre campo de tipo Varar, a fecha campo de tipo FECHA y un tiempo campo de tipo TIEMPO.

Puedes crear el cumpleaños mesa de la siguiente manera.

> Crear cumpleaños de la mesa (
nombre Varchar (20) No nulo,
Fecha de fecha,
tiempo tiempo
);

Si desea que mysql/mariadb agregue automáticamente la fecha actual o la hora actual al insertar nuevas filas en el cumpleaños mesa, puedes crear el cumpleaños mesa de la siguiente manera.

> Crear cumpleaños de la mesa (
nombre Varchar (20) No nulo,
Fecha Fecha predeterminada Current_Date,
Tiempo Tiempo predeterminado Current_Time
);

Aquí, Predeterminado actual_date Agrega automáticamente la fecha actual al fecha colume si no se proporcionan datos para esa columna mientras la inserción. De la misma manera Predeterminado actual_time Agrega automáticamente el tiempo actual al tiempo columna.

Trabajando con fecha:

Puede imprimir la fecha actual con el FECHA ACTUAL() función de la siguiente manera:

> Seleccione Current_Date ();

Si 'Bob' nació hoy, puedes agregar 'Bob' al cumpleaños tabla de la siguiente manera:

> Insertar en valores de cumpleaños (nombre, fecha) ('bob', current_date ());

También puede agregar fechas de nacimiento específicas de la siguiente manera:

> Insertar en valores de cumpleaños (nombre, fecha) ('lirio', '1997-11-24');
> Insertar en valores de cumpleaños (nombre, fecha) ('Alex', '2001-11-24');

El estado actual de la mesa de cumpleaños es el siguiente.

Puede extraer solo el año parte de la fecha utilizando el AÑO() función, la parte del mes usando el MES() función, la parte del día usando el DÍA() función de la siguiente manera:

> Seleccionar nombre, año (fecha), mes (fecha), día (fecha) del cumpleaños;

Puede encontrar el nombre mes de una fecha usando Monthname () función.

> Seleccione Nombre, Fecha, Nombre (Fecha) del Cumpleaños;

1 año es igual a 52 semanas. Puedes encontrar la semana del año usando el WeekOfyear () función de la siguiente manera:

> Seleccione Nombre, Fecha, Semana (Fecha) del cumpleaños;

De la misma manera, puede obtener el día del año usando el Dayofyear () función. 1 año es igual a 365 días. 366 días en un año bisiesto.

> Seleccione Nombre, Fecha, Dayofyear (Fecha) del cumpleaños;

Puede encontrar el día de la semana desde una fecha usando el DÍA LABORABLE() función.

> Seleccionar nombre, fecha, día de la semana (fecha) del cumpleaños;

Aquí, 0 es el lunes, 1 es el martes, 2 es miércoles, 3 es jueves, 4 es viernes, 5 es el sábado y el 6 es el domingo.

También puede encontrar el nombre del día de la semana usando el DayName () función.

> Seleccionar nombre, fecha, nombre de día (fecha) del cumpleaños;

Trabajando con el tiempo:

Puede encontrar el tiempo actual del sistema utilizando el TIEMPO ACTUAL() funcionar de la siguiente manera.

> Seleccione Current_Time ();

La columna de tiempo de nuestro cumpleaños La tabla es nula en este momento.

> Seleccionar * del cumpleaños;

Agreguemos algunos valores de tiempo ficticio al tiempo columna.

> Actualizar el set de cumpleaños Time = "21:14:32" Where Name = "Bob";
> Actualizar el tiempo de cumpleaños Time = "11:20:30" Where Name = "Lily";
> Actualizar el tiempo de conjunto de cumpleaños = "8:10:15" Where Name = "Alex";

Ahora el cumpleaños la mesa debería verse algo así.

> Seleccionar * del cumpleaños;

Puedes encontrar la hora del tiempo usando el HORA() función, el minuto usando el MINUTO() función, y la segunda usando el SEGUNDO() función de la siguiente manera:

> Seleccionar nombre, hora (hora), minuto (hora), segundo (tiempo) del cumpleaños;

Trabajando con fecha y hora:

Anteriormente, he almacenado la fecha y la hora en diferentes campos del cumpleaños mesa. Eso no es práctico. Si necesita almacenar la información de fecha y hora, debe usar el FECHA Y HORA tipo de datos.

Puedes crear una nueva mesa de cumpleaños cumpleaños2 que usa el tipo de datos de DateTime de la siguiente manera:

> Crear mesa de cumpleaños2 (
nombre Varchar (20) No nulo,
dt dateetime
);

Ahora, importe datos del cumpleaños cubrir a cumpleaños2 tabla de la siguiente manera:

> Insertar en el nombre de la selección de cumpleaños2,
Concat (fecha, ", hora) como dt del cumpleaños;

Así es como el cumpleaños2 la tabla debe parecer en este punto.

> Seleccionar * de cumpleaños2;

Puede convertir la fecha detallada en segundos (marca de tiempo) utilizando el To_seconds () función de la siguiente manera:

> Seleccione Nombre, To_Seconds (DT) desde el cumpleaños2;

Todas las funciones que he usado en el Trabajando con fecha y Trabajando con el tiempo Las secciones de este artículo también funcionarán en los campos de fecha y hora.

Fechas de suma y renovación:

Puedes sumar y restar de las fechas en MySQL/Mariadb.

El Date_add () la función se usa para agregar a la fecha y Date_sub () la función se utiliza para restar de la fecha. El fomat de Date_add () y Date_sub () son lo mismo.

El formato de la Date_add () función:

Date_add (DT, unidad de intervalo expr)

El formato de la Date_sub () función:

Date_sub (DT, Unidad de Expr de intervalo)

Aquí, INTERVALO es una palabra clave.

dt es el FECHA, TIEMPO o FECHA Y HORA a lo que desea sumar o restar de.

unidad puede ser AÑO, MES, DÍA, SEMANA, HORA, MINUTO, SEGUNDO.

expr es una quanidad numérica de la definida unidad.

Por ejemplo, puede agregar un año a la fecha utilizando el Date_add () función de la siguiente manera:

> Seleccione Nombre, DT, Date_add (DT, Intervalo 1 año) desde el cumpleaños2;

De la misma manera, puede restar un mes usando el Date_sub () función de la siguiente manera:

> Seleccionar nombre, dt, date_sub (dt, intervalo 1 mes) desde el cumpleaños2;

Encontrar la diferencia entre 2 fechas:

Puede encontrar la diferencia entre 2 fechas usando el TimeStampDiff () función.

El formato de la TimeStampDiff () la función es:

Timestampdiff (Unidad, DT1, DT2)

Aquí, dt1 y dt2 puede ser de tipo FECHA o FECHA Y HORA.

El TimeStampDiff () FUNCIONES DEVESTRES (dt2 - dt1) en el definido unidad.

El unidad puede ser AÑO, MES, DÍA, SEMANA, HORA, MINUTO, SEGUNDO.

Puede encontrar la edad (en segundos) de cada persona en la mesa de cumpleaños de la siguiente manera:

> Seleccionar nombre, current_timestamp (), dt, timestampdiff (segundo,
dt, current_timestamp ()) como age_seconds desde el cumpleaños2;

De la misma manera, puede encontrar la edad en días de la siguiente manera:

> Seleccione el nombre, current_timestamp (), dt, timestampdiff (día,
dt, current_timestamp ()) como edad_days desde el cumpleaños2;

También puede encontrar la edad en años de la siguiente manera:

> Seleccione Nombre, Current_Timestamp (), DT, TimestampDiff (año, DT,
Current_timestamp ()) como age_year desde el cumpleaños2;

Entonces, así es básicamente como trabajas con MySQL/Mariadb Fecha y hora. Gracias por leer este artículo.