sql >> Base de Datos >  >> RDS >> Mysql

Almacenamiento de fechas no gregorianas en el tipo de fecha de Mysql

No. Aparte de que alguna fecha válida en un sistema de calendario no existe en otro calendario, las funciones funcionan en DATE las columnas escritas pueden no funcionar correctamente. El asunto no es solo almacenar datos, debe procesar estos datos y, por ejemplo, compararlos con CURDATE() .

Si elige un formato adecuado, use dos dígitos para el mes y el día y un número estático de dígitos para el año, un tipo de cadena de caracteres, CHAR o VARCHAR está bien. Comparar temas entre sí es solo una comparación léxica y aún puede escribir sus funciones o procedimientos para ampliar la funcionalidad.

Elegir TIMESTAMP o DATE cambia la pregunta ya que la primera representa una hora específica pero la segunda representa una entrada específica en el calendario. Si desea poner la hora al lado de la fecha, aún difieren en significado. Debe pensar en cuestiones como los cambios de horario de verano que hacen que algunas personas prefieran poner la entrada de calendario (FECHA) y algunos prefieran los segundos transcurridos desde el 1 de enero de 1970 (TIMESTAMP). p.ej. hay dos marcas de tiempo para 1393-06-30 23:30:00 en el calendario Hijri Shamsi basado en las leyes actuales del gobierno de Irán.