"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Ao comparar datas com DATE_FORMAT do MySQL, por que usar o mesmo formato é crucial?

Ao comparar datas com DATE_FORMAT do MySQL, por que usar o mesmo formato é crucial?

Publicado em 2024-11-08
Navegar:144

When Comparing Dates with MySQL\'s DATE_FORMAT, Why Is Using the Same Format Crucial?

Comparação de datas com MySQL DATE_FORMAT

Ao comparar datas usando a função DATE_FORMAT do MySQL, é crucial entender que o formato escolhido afeta o resultado da comparação .

No exemplo fornecido, a tabela contém datas formatadas como '%d-%m-%Y' e a consulta tenta compará-las usando o mesmo formato. No entanto, isso leva a resultados incorretos porque "28-10-2012" é lexicograficamente maior que "02-11-2012".

Para resolver isso, é recomendado comparar datas como datas em vez de strings. A consulta correta deve ser:

select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';

Aqui, a função date() extrai o componente de data do campo starttime, enquanto date '2012-11-02' especifica a comparação data na forma de valor ano-mês. Isso garante que a comparação seja feita corretamente como datas.

Se starttime for um campo DATETIME, considere usar a seguinte consulta para evitar conversões repetidas:

select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';

Em geral, é aconselhável usar o padrão ISO-8601 para formatação de data, como y-M-d. No entanto, as consultas acima demonstram como realizar comparações de datas usando o formato fornecido.

Declaração de lançamento Este artigo foi reimpresso em: 1729739877 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3