¿Por qué el tipo de año MySQL limita el rango de años permitidos entre 1901 y 2155?MySQL Año Tipo
Respuesta
Presumiblemente, si está almacenando fechas más recientes, nunca necesitará más de 256 valores anuales posibles, que se ajusta exactamente a un byte. Esto le ahorra una gran cantidad de espacio: en lugar de utilizar múltiples bytes para almacenar el entero 1901, 1900 años de los cuales pueden considerarse redundantes en muchos casos, MySQL lo trata internamente como el número 1 y lo muestra en 1901 para su beneficio.
Si necesita más años, use un tipo basado en INT.
Para ajustar el valor en un solo byte. La elección de 1901-2155 es arbitraria, pero el hecho de que admita valores de 1 byte no lo es.
El tipo de año es del tipo de un byte. Un byte = 256 valores. Probablemente hecho de esta manera porque la mayoría de las fechas estarán en ese rango, así que guarda los bytes ...
Puede usar una cadena para fechas anteriores.
- 1. tipo de datos mysql para almacenar mes y año solamente
- 2. Fin de año con MySQL
- 3. Agrupar por mes y año en MySQL
- 4. recordatorio de cumpleaños de mysql, año bisiesto
- 5. fecha de actualización + un año de MySQL
- 6. MySQL Query GROUP POR día/mes/año
- 7. extracto de mysql año a partir del formato de fecha
- 8. MySQL: la adición año actual como un valor predeterminado para un campo 'año'
- 9. MySQL - Cambio de año de las fechas 2020-2011
- 10. Obtener el año actual y la próxima forma mysql
- 11. Crear fecha de día, mes, año campos en MySQL
- 12. CREAR TIPO en MySQL
- 13. Consulta SQL donde() el año de la fecha es $ año
- 14. MySQL DECIMAL tipo de datos
- 15. Python Pregunta: año y día del año hasta la fecha?
- 16. Agrupar mediante mes, año en doctrine2
- 17. Fecha menos 1 año?
- 18. días Contar por año
- 19. Django DateField sin año
- 20. Formatear fecha sin año
- 21. Año en Nullable FechaTiempo
- 22. Verificar el año bisiesto
- 23. pensamiento esfinge desconocido tipo 'mysql'; saltarse
- 24. tipo MySQL ENUM vs unir tablas
- 25. Elegir el tipo de datos para MySQL?
- 26. SQL DataType - ¿Cómo almacenar un año?
- 27. MySQL - seleccionar año a partir de una marca de tiempo Unix
- 28. ¡php y mysql obtienen datos por año y fecha! estructura de la mesa?
- 29. Extracto del día/mes/año a partir de una marca de tiempo en MYSQL
- 30. MySQL: ¿Cómo puedo configurar una fecha (? Makedate) con mes, día y año
No gracias al uso de cadenas. Si el tipo de FECHA ('1000-01-01' a '9999-12-31') no le cubre, entonces agréguelo y use 3 campos enteros, o bien está usando toneladas de almacenamiento innecesario. Es la diferencia entre 4 bytes y 10 bytes. – Matchu
¡Nunca use cuerdas para almacenar fechas! Use el tipo apropiado, a menos que no haya otra forma, usar los tipos adecuados le ofrece todo tipo de beneficios: sin problemas de formato de cadenas, capacidad de extraer partes, clasificación adecuada, cálculo de diferencias entre fechas, etc., etc. –