Ir al contenido principal

Hackeando las funciones de fecha en SQLite

En este tutorial, aprende a usar funciones de fecha en SQLite.
Actualizado 17 sept 2026  · 3 min leer

Explorar con IA

ChatGPTClaudePerplexity

Algunas de las funciones más útiles en implementaciones de SQL como Postgres (por ejemplo, Amazon Redshift) son DATE_DIFF y DATE_TRUNC:

  • DATE_DIFF devuelve el tiempo transcurrido entre dos fechas. Por ejemplo, el siguiente código daría el número de días entre date1 y date2:
DATE_DIFF('day', date1, date2)

DATE_DIFF es ideal para calcular los días desde el alta hasta la baja, o las horas desde el inicio de sesión hasta el cierre de sesión.

  • DATE_TRUNC recorta una fecha al día, semana, mes o año más cercano. Por ejemplo, el siguiente código devolvería el lunes más próximo al timestamp my_timestamp:
DATE_TRUNC('week', my_timestamp)

DATE_TRUNC es perfecto para agregar datos. Por ejemplo, podemos usarlo para obtener el número de usuarios activos mensuales (MAU) truncando a la fecha de inicio de mes más cercana.

Pero no todas las implementaciones de SQL tienen estas funciones tan útiles. Para nuestro código de Learn SQL desde cero, usamos SQLite, una implementación ligera de SQL que puede ejecutarse en una sola instancia de Docker. SQLite es genial para backends web y proyectos pequeños, pero le faltan mis dos funciones favoritas. Por suerte, hay alternativas.

Para emular DATE_DIFF, podemos usar una función poco conocida llamada juliandate. Según Wikipedia, «el número de día juliano (JDN) es el entero asignado a un día solar completo en el cómputo de días julianos a partir del mediodía en tiempo universal, siendo el número 0 el asignado al día que empieza al mediodía del lunes, 1 de enero de 4713 a. C.». Al convertir una fecha en un número de coma flotante, podemos restar para obtener la diferencia entre dos marcas de tiempo.

julian day number

Incluso podemos convertir el resultado a horas multiplicando por 24 o a minutos multiplicando por 24 * 60.

Podemos emular parte de la funcionalidad de DATE_TRUNC usando strftime. Esta función convierte un timestamp en una cadena con el formato que indiquemos.

%d día del mes: 00 %f segundos fraccionarios: SS.SSS %H hora: 00-24 %j día del año: 001-366 %J número de día juliano %m mes: 01-12 %M minuto: 00-59 %s segundos desde 1970-01-01 %S segundos: 00-59 %w día de la semana 0-6 con domingo==0 %W semana del año: 00-53 %Y año: 0000-9999

Normalmente, podríamos usar esto para convertir entre formatos de fecha distintos, como de YYYY-MM-DD a MM-DD-YYYY:

strftime('%M-%D-%Y', mydate)

Pero también podemos elegir el formato con picardía para truncar en el punto adecuado. Por ejemplo, si queremos truncar al mes, podemos hacer:

strftime('%M/%Y', mydate)

O truncar a la semana usando:

strftime('%Y-%w', mydate)

Con estos dos trucos sencillos, podrás usar SQLite para hacer algunos de los mismos análisis potentes que en Amazon Redshift.

Si quieres aprender más sobre los fundamentos de SQL, haz el curso Intro to SQL for Data Science de DataCamp y echa un vistazo a nuestro SQL Tutorial for Beginners.

Temas
SQL

Aprende más sobre SQL

Curso

Manipulación de datos en SQL

4 h
335K
Domina las consultas SQL para responder a preguntas de ciencia de datos y prepara conjuntos de datos para analizarlos en PostgreSQL.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

FUNCIÓN SQL DATEDIFF()

DATEDIFF() es una de las funciones de manipulación de datos de fecha más utilizadas en SQL. Conviértete en un experto leyendo este tutorial.
Travis Tang 's photo

Travis Tang

3 min

Tutorial

FUNCIÓN SQL FORMAT()

FORMAT() es una de las funciones más utilizadas en SQL. Conozca sus principales aplicaciones en este tutorial.
Travis Tang 's photo

Travis Tang

3 min

SQLAlchemy_Tutorial.

Tutorial

Tutorial de SQLAlchemy con ejemplos

Aprende a acceder y ejecutar consultas SQL en todo tipo de bases de datos relacionales utilizando objetos Python.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Tutorial

Cómo utilizar la función COALESCE() en SQL (con ejemplos)

Aprende a utilizar la función COALESCE() de SQL para tratar valores nulos, combinar columnas y limpiar tus datos con ejemplos y consejos reales.
Travis Tang 's photo

Travis Tang

5 min

Tutorial

Tutorial sobre cómo crear tablas de fechas en Power BI

Aprende a crear tablas de fechas en Power BI con este tutorial visual paso a paso.
Kafaru Simileoluwa's photo

Kafaru Simileoluwa

12 min

Tutorial

Ejemplos y tutoriales de consultas SQL

Si quiere iniciarse en SQL, nosotros le ayudamos. En este tutorial de SQL, le presentaremos las consultas SQL, una potente herramienta que nos permite trabajar con los datos almacenados en una base de datos. Verá cómo escribir consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

15 min

Ver MásVer Más