Mysql
 sql >> Base de données >  >> RDS >> Mysql

Stocker des dates non grégoriennes dans le type de date de Mysql

Non. En dehors du fait qu'une date valide dans un système de calendrier n'existe pas dans un autre calendrier, les fonctions fonctionnant sur DATE les colonnes typées peuvent ne pas fonctionner correctement. Il ne s'agit pas seulement de stocker des données, vous devez traiter ces données et par exemple les comparer avec CURDATE() .

Si vous choisissez un formatage approprié, utilisez deux chiffres pour le mois et le jour et un nombre statique de chiffres pour l'année, un type de chaîne de caractères, CHAR ou VARCHAR c'est bien. La comparaison de thèmes entre eux n'est qu'une comparaison lexicale et vous pouvez toujours écrire vos fonctions ou procédures pour étendre les fonctionnalités.

Choisir TIMESTAMP ou DATE modifie la question car la première représente une heure spécifique, mais la seconde représente une entrée spécifique dans le calendrier. Si vous voulez mettre l'heure à côté de la date, leur signification diffère toujours. Vous devriez penser à des problèmes tels que les changements d'heure d'été qui font que certaines personnes préfèrent mettre une entrée de calendrier (DATE) et d'autres préfèrent les secondes passées à partir du 1er janvier 1970 (TIMESTAMP). par exemple. il y a deux horodatages pour 1393-06-30 23:30:00 dans le calendrier Hijri Shamsi basé sur les lois actuelles du gouvernement iranien.