Saltar al contenido

Partes de una fecha

SQL · Unidad 14: Textos y fechas

La escuela, otra vez. Cada mes se felicita a quien cumple años. ¿Quién cumple en enero? La respuesta está dentro de la columna nacimiento, que ya conoces, entre sus dos guiones.

STRFTIME saca partes de una fecha. Primero va un molde y después la fecha. En el molde, %Y es el año, %m es el mes y %d es el día, y la mayúscula cuenta.

Lo que devuelve es un texto, 01 y no 1.

SELECT nombre, nacimiento,
  STRFTIME('%m', nacimiento) AS mes
FROM estudiantes
WHERE grado >= 2
ORDER BY mes;

Devuelve

nombrenacimientomes
Julia2011-01-3001
Leo2010-04-1704
Hugo2011-06-2106
Martina2010-09-0909
Sara2010-12-2512

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    Lucas y Emma, los dos de primer grado, nacieron el 14 de marzo y el 2 de noviembre de 2012. ¿Qué devuelve esta consulta?

  2. 2. Completa el código

    La pregunta con la que empezó la lección. ¿Quién cumple años en enero? Completa el molde y el mes.

  3. 3. Encuentra el bug

    La lista de tercer grado tenía que traer el mes en que nació cada uno. Leo es de abril, Martina de septiembre y Sara de diciembre. Los tres salen con 00. ¿Qué línea tiene el problema?

  4. 4. Ordena las líneas

    La escuela cuelga en el pasillo el calendario de cumpleaños, de enero a diciembre, sin mirar en qué año nació cada uno. El molde '%m-%d' da el mes y el día, con su guion en medio. Ordena la consulta. Sobran dos líneas.

  5. 5. Opción múltiple

    Sara, de tercer grado, nació el 25 de diciembre de 2010. Hoy, 15 de enero de 2026, ¿qué da para ella la resta de los años, y cuántos años tiene?

  6. 6. Completa el código

    El torneo entre escuelas reparte las categorías por la edad que cada uno tendrá el 30 de junio de 2026. Completa la consulta para Lucas y Emma, los de primer grado, que nacieron el 14 de marzo y el 2 de noviembre de 2012.

  7. 7. Encuentra el caso que falla

    La edad de hoy, 15 de enero de 2026, para segundo grado. Quien cumple años hoy ya tiene un año más. Esta consulta acierta con Hugo y con Julia. ¿Con cuál de estos cambios da una edad que no es?

  8. 8. Opción múltiple

    Copias la consulta de los cumpleaños de enero en un servidor MySQL, y falla con un mensaje que dice que la función STRFTIME no existe. ¿Qué haces?

  9. 9. Predice la salida

    Alguien acorta el molde y agrupa solo por el mes. Los datos son los mismos, un préstamo de diciembre de 2025 y siete de enero de 2026. ¿Qué devuelve esta consulta?

  10. 10. Ordena las líneas

    De los préstamos que ya volvieron, ¿cuántos habían salido cada mes? Ordena la consulta, con el mes más reciente primero. Sobran dos líneas.

  11. 11. Escribe el código

    La bibliotecaria cierra sus cuentas mes a mes, y le estorban los préstamos que salieron un mes y volvieron otro. Escribe una consulta con cuatro columnas en este orden, id, socio, prestado y devuelto, de esos préstamos. Compara el año y el mes juntos. Un libro que hubiera salido en enero de 2025 y vuelto en enero de 2026 también tiene que salir.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →