Cómo trabajar eficazmente con fechas y horas en MySQL

Cómo trabajar eficazmente con fechas y horas en MySQL

Las fechas y los horarios son importantes, ayudan a mantener las cosas organizadas y son un aspecto integral de cualquier operación de software.





Trabajar de manera eficiente con ellos dentro de la base de datos a veces puede parecer confuso, ya sea trabajando en las distintas zonas horarias, agregando / restando fechas y otras operaciones.





Conozca las diversas funciones de MySQL disponibles para manejar y administrar fácilmente fechas / horas dentro de su base de datos.





Trabajar con zonas horarias

Para ayudar a mantener las cosas estandarizadas, solo debe trabajar con fechas / horas en la zona horaria UTC. Cada vez que establezca una conexión a la base de datos MySQL, debe cambiar la zona horaria a UTC, lo que se puede hacer con la siguiente declaración SQL:

|_+_|

Dado que ahora todas las fechas se guardarán en UTC, siempre sabrá con qué está trabajando, lo que hará las cosas más simples y directas.



¿Dónde puedo imprimir documentos desde mi correo electrónico?

Cuando sea necesario, puede convertir la zona horaria de cualquier valor de fecha y hora / fecha y hora con el práctico CONVERT_TZ () Función MySQL. Primero debe conocer el desplazamiento, por ejemplo, PST en la costa oeste de América del Norte es UTC -08: 00, por lo que podría usar:

|_+_|

Esto resulta en 2021-02-04 13:47:23 que es exactamente correcto. Los tres argumentos pasados ​​a CONVERT_TZ () son primero la fecha y hora / marca de tiempo con la que estás comenzando (usa ahora () para la hora actual), el segundo siempre será '+0:00' ya que todas las fechas están forzadas a UTC en la base de datos, y el último es el desplazamiento al que deseamos convertir la fecha.





Agregar / restar fechas

Muchas veces necesita sumar o restar fechas, por ejemplo, si necesita recuperar registros de hace una semana o programar algo dentro de un mes.

Afortunadamente, MySQL tiene la excelente DATE_ADD () y DATE_SUB () funciones que hacen que esta tarea sea extremadamente fácil. Por ejemplo, puede restar dos semanas de la fecha actual con la declaración SQL:





|_+_|

Si, en cambio, quisiera agregar tres días a una marca de tiempo existente, usaría:

|_+_|

Ambas funciones funcionan de la misma manera, el primer argumento es la marca de tiempo con la que está comenzando y el segundo argumento es el intervalo para sumar o restar. El segundo argumento siempre tiene el mismo formato comenzando con la palabra intervalo seguido de un valor numérico y el intervalo en sí, que puede ser cualquiera de los siguientes: segundo, minuto, hora, día, semana, mes, trimestre, año.

Para otro ejemplo, si quisiera recuperar todos los inicios de sesión que ocurrieron en los últimos 34 minutos, podría usar una declaración SQL como:

|_+_|

Como puede ver, esto recuperaría todos los registros del inicios de sesión tabla con una fecha de inicio de sesión mayor que la hora actual menos 45 minutos, o en otras palabras, los últimos 45 minutos.

Obtenga la diferencia entre fechas

A veces es necesario saber cuánto tiempo ha transcurrido entre dos fechas. Puede obtener fácilmente el número de días entre dos fechas diferentes con el DATEDIFF función, como la siguiente declaración SQL:

|_+_|

los DATEDIFF La función toma dos argumentos, los cuales son marcas de fecha / hora y da el número de días entre ellos. El ejemplo anterior mostrará el número de días transcurridos desde el 15 de diciembre de 2020 hasta hoy.

Para obtener el número de segundos entre dos fechas, el TO_SECONDS () La función puede ser útil, por ejemplo:

|_+_|

Esto resultará en el número de segundos entre las dos fechas proporcionadas.

Extraer segmentos de fechas

Hay varias funciones de MySQL que le permiten extraer fácilmente segmentos específicos de fechas, como si solo quisiera el mes, el día del año o la hora. Aquí hay algunos ejemplos de tales funciones:

|_+_| |_+_| |_+_|

Las declaraciones SQL anteriores resultarían en 02 , la hora actual, y 196 ya que el 15 de septiembre es el día 196 del año. Aquí hay una lista de todas las funciones de extracción de fecha disponibles, cada una de las cuales solo toma un argumento, la fecha se extrae de:

|_+_|

Por ejemplo, si tal vez solo desea recuperar el mes y año en que se crearon todos los usuarios, puede usar una declaración SQL como:

|_+_|

Esto recuperaría todos los registros dentro del usuarios tabla y muestra el número de identificación, mes y año en el que se creó cada usuario.

Agrupación de registros por período de fecha

Un uso excelente de las funciones de fecha es la capacidad de agrupar registros por período de fecha utilizando AGRUPAR POR dentro de sus declaraciones SQL. Por ejemplo, tal vez desee extraer la cantidad total de todos los pedidos en 2020 agrupados por mes. Puede usar una declaración SQL como:

|_+_|

Esto recuperaría todos los pedidos realizados en el año 2020, los agruparía por el mes en que se crearon y devolvería 12 registros que muestran la cantidad total solicitada cada mes del año.

Tenga en cuenta que para un mejor rendimiento del índice, siempre es mejor evitar el uso de funciones de fecha como AÑO() dentro de la cláusula WHERE de las sentencias SQL, y en su lugar utilice la ENTRE operador como se muestra en el ejemplo anterior.

Nunca más se confunda con las fechas

Con el conocimiento anterior, ahora puede trabajar, traducir y realizar operaciones de manera eficiente en fechas y horas en una amplia gama de casos de uso.

Recuerde siempre usar UTC cuando trabaje con fechas para simplificar, y utilice los consejos anteriores para administrar de manera eficiente las fechas dentro de su software, ya sea para completar cálculos simples o generar informes agrupados por períodos de fecha fácilmente.

Si es algo nuevo en SQL, asegúrese de consultar estos comandos SQL esenciales para ayudar a mejorar su uso de SQL.

Cuota Cuota Pío Correo electrónico Cómo crear informes y documentos profesionales en Microsoft Word

Esta guía examina los elementos de un informe profesional y revisa la estructuración, el estilo y la finalización de su documento en Microsoft Word.

Leer siguiente
Temas relacionados Sobre el Autor Matt Dizak(18 Artículos publicados) Más de Matt Dizak

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse