Fechas y horas en SQL: current_timestamp y función extract
Clase 18 de 29 • Curso de PostgreSQL
Resumen
El manejo de fechas y horas en SQL puede resultar confuso debido a los formatos y procedimientos específicos que implica. Sin embargo, comprender funciones clave como current_timestamp
y extract
facilita notablemente este proceso, permitiendo obtener datos específicos como año, mes o día de una fecha dada.
¿Qué función muestra la fecha y hora actuales en SQL?
Para conocer la fecha y hora actual en SQL, puedes emplear la función específica current_timestamp
. Es tan sencillo como escribir el siguiente comando:
SELECT current_timestamp;
Esto devuelve detalles sobre momento exacto, incluyendo fecha y hora, útil para registrar actividades o comparar límites temporales.
¿Cómo usar la función extract para obtener partes de una fecha?
La función extract
permite tomar segmentos específicos de una fecha almacenada en tu base de datos SQL. Por ejemplo, si buscas obtener el año solamente, usas esta fórmula:
SELECT extract(year FROM rental_date) AS año
FROM rental;
Si deseas agregar mes y día, utiliza comas para separar consultas adicionales y así tener datos completos:
SELECT
extract(day FROM rental_date) AS día,
extract(month FROM rental_date) AS mes,
extract(year FROM rental_date) AS año
FROM rental;
Esto facilita organizar tus resultados en el orden en que usualmente los revisas (día-mes-año).
¿Cómo incluir horas y minutos en la extracción de fechas?
Además de día, mes y año, en SQL también puedes obtener información detallada sobre la hora y minuto de cualquier campo tipo fecha-hora. Para agregar estos datos, utiliza la misma estructura de consultas pero solicitando directamente la extracción de esos componentes:
extract(hour FROM rental_date)
para las horas.extract(minute FROM rental_date)
para los minutos.
Tu consulta final puede quedar así:
SELECT
extract(day FROM rental_date) AS día,
extract(month FROM rental_date) AS mes,
extract(year FROM rental_date) AS año,
extract(hour FROM rental_date) AS hora,
extract(minute FROM rental_date) AS minuto
FROM rental;
Una práctica habitual en SQL que permite tener control detallado y claro sobre la información que necesitas.
Mis invitaciones finales serían probar estos métodos directamente en tu entorno SQL y compartir tus resultados o dudas en los comentarios.