yyyy tipos por insertar funciones formato filtrar fecha datos cambiar actual mysql sql database-design

tipos - tipo de datos mysql para almacenar mes y año solamente



insertar fecha en mysql php (6)

Considere cómo va a usar los datos. Si hay algún informe que debe crear, ¿de qué forma podría recuperar y trabajar con los datos más fácilmente?

Y no tiene que usar un campo de tipo de fecha. Podría simplemente tener un campo Año y un campo Mes que son ambos enteros. Entonces, cuando realmente necesitas hacer cualquier tipo de expresión que requiera una fecha, es bastante fácil juntarlas y lanzarlas a una cita.

Y almacenar como una fecha con el número del día como 1 y simplemente ignorarlo está perfectamente bien y es bastante normal también. Al final, esta no es una decisión que va a importar mucho (en términos relativos), así que simplemente elegiría la que más te guste y la terminaré.

Estoy escribiendo una aplicación php que almacenará los datos del ESTUDIANTE en una base de datos relacional de MySQL. Estoy tratando de encontrar la mejor forma / tipo de datos para almacenar un mes y año juntos sin el día. No sé si debería guardarlo como DATE y usar php de alguna manera para almacenar el día como el primero o usar otro tipo de datos con el que no esté familiarizado. Idealmente, no quiero almacenar un día, porque el día no siempre será el mismo y requeriría cambiar el código fuente de php si el día cambiara en el futuro.

Solo para obtener más información de antecedentes, estoy almacenando INTENT_TO_GRAD de un ESTUDIANTE. El cliente parece querer solo esta información como referencia o visual para un informe en lugar de usarla para la manipulación de datos. En otras palabras, el único requisito funcional para estos datos debe mostrarse en un informe.


Dice en el manual de MySQL que puedes almacenar fechas parciales

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

Los rangos para los especificadores de mes y día comienzan con cero debido a que MySQL permite el almacenamiento de fechas incompletas como ''2014-00-00''.

Esto significa que para almacenar el año y el mes solamente, puede usar una columna DATE y poner 00 lugar del día. por ejemplo, 2013-12-00 .

Relacionado: Almacenar fecha incompleta en el campo de fecha de MySQL


Puede usar el tipo de datos VARCHAR para almacenar mes y año solamente.

Para quienes usan datepicker : -

1) Establecer el tipo de datos VARCHAR en mysql para almacenar mes y año.

2) Si está utilizando la validación de jquery y tiene el selector de fecha de jquery plugin, entonces tiene que hacer el código siguiente.

Por ejemplo: -

<script> $(document).ready(function (){ $(''#monthyear'').datepicker({ autoclose:true, format:''mm-yy'' }); //Your form validation code here// }); </script>


Yo almacenaría los dos como dos columnas separadas como enteros. Sería una torta de validación y permitiría una clasificación rápida y fácil y posibilidades de agrupación.


¿Por qué molestarse? Simplemente guárdelo como una fecha completa (tal vez siempre usando el primero como día) y use las funciones de la base de datos MONTH() y YEAR() si solo necesita una parte. Esto hace que usar ese campo sea mucho más fácil ya que aún puede hacer consultas de rango, etc.


SELECT * FROM Users WHERE MONTH(DateTime) = ''07'' AND YEAR(DateTime) = ''2015'' AND DAY(DateTime) = ''26''

puede filtrar como se muestra arriba, pero aún así, si desea almacenar año / mes y día por separado, es inútil hasta que aplique la indexación y sus datos muy grandes.