Estoy configurando una tabla donde necesito el año y el mes. En MySQL creo que tengo 2 opciones: (1) 2 campos: 1 por año, 1 por mes o (2) un campo de fecha (el día siempre será 1).En una base de datos, ¿usaría un campo de fecha o campos de año y mes si solo necesita año y mes?
Los 2 campos tienen la ventaja de ser algo más rápidos (creo) porque MySQL no tiene que convertir el valor de una fecha a un número entero, aunque esto es probablemente insignificante. El campo de fecha tiene la ventaja de la validación "automática": alguien no puede obtener datos en el DB con el mes siendo 13 o el año 1. Con un campo de fecha también puede hacer los cálculos de fecha más fácilmente (es decir, meses entre)
¿Cuál usarías? ¿O hay otro que usarías?
Para cualquier persona que vuelva aquí, le recomiendo 'EXTRACT (YEAR_MONTH FROM mydate)' para las comparaciones y 'DATE_FORMAT (mydate, '% Y-% M')' para visualizar, consulte [funciones de fecha] (http: // dev. mysql.com/doc/refman/5.5/en/date-and-time-functions.html) – KCD