Mysql
 sql >> Database >  >> RDS >> Mysql

Memorizzazione di date non gregoriane nel tipo di data di Mysql

No. A parte che una data valida in un sistema di calendario non esiste in un altro calendario, le funzioni che lavorano su DATE le colonne digitate potrebbero non funzionare correttamente. La questione non è solo memorizzare i dati, è necessario elaborare questi dati e ad esempio confrontarli con CURDATE() .

Se scegli una formattazione corretta, usa due cifre per mese e giorno e numero statico di cifre per anno, un tipo di stringa di caratteri, CHAR o VARCHAR è ok. Confrontare i temi l'uno con l'altro è solo un confronto lessicale e puoi ancora scrivere le tue funzioni o procedure per estendere le funzionalità.

Scegliendo TIMESTAMP o DATE cambia la domanda in quanto la prima rappresenta un'ora specifica ma la seconda rappresenta una voce specifica nel calendario. Se vuoi mettere l'ora accanto alla data, hanno comunque un significato diverso. Dovresti pensare a problemi come i cambiamenti dell'ora legale che fanno sì che alcune persone preferiscano inserire la voce del calendario (DATA) e alcuni preferiscono i secondi trascorsi dal 1 gennaio 1970 (TIMESTAMP). per esempio. ci sono due timestamp per 1393-06-30 23:30:00 nel calendario di Hijri Shamsi basato sulle attuali leggi del governo iraniano.