Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Armazenando datas não gregorianas no tipo de data do Mysql


Não. Além de que alguma data válida em um sistema de calendário não existe em outro calendário, as funções funcionam em DATE colunas digitadas podem não funcionar corretamente. A questão não é apenas armazenar dados, você precisa processar esses dados e, por exemplo, compará-los com CURDATE() .

Se você escolher uma formatação adequada, use dois dígitos para mês e dia e número estático de dígitos para ano, um tipo de cadeia de caracteres, CHAR ou VARCHAR está bem. Comparar temas entre si é apenas uma comparação léxica e você ainda pode escrever suas funções ou procedimentos para estender a funcionalidade.

Escolhendo TIMESTAMP ou DATE altera a pergunta, pois o primeiro representa um horário específico, mas o último representa uma entrada específica no calendário. Se você quiser colocar o tempo ao lado da data, eles ainda diferem em significado. Você deve pensar em questões como mudanças no horário de verão que fazem com que algumas pessoas prefiram colocar a entrada do calendário (DATE) e algumas preferem segundos passados ​​de 1º de janeiro de 1970 (TIMESTAMP). por exemplo. há dois carimbos de data/hora para 1393-06-30 23:30:00 no calendário Hijri Shamsi com base nas leis atuais do governo do Irã.