recherche

Maison  >  Questions et réponses  >  le corps du texte

MySQL Comment sélectionner la date dans un champ de type datetime

Il existe un champcreated_atde type datetime. Comment sélectionner les données d'une date précise ?

SELECT * FROM data WHERE created_at = '2017-06-29';
SELECT * FROM data WHERE created_at BETWEEN '2017-06-29 00:00:00' AND '2017-06-29 23:59:59';

Aucun d'entre eux n'est correct, les ensembles de résultats sont tous vides

某草草某草草2700 Il y a quelques jours996

répondre à tous(5)je répondrai

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-30 09:55:42

    Article de référence : Fonctions liées au traitement du temps MySQL

    OÙ DATE(created_at) = '2017-06-29'

    ou

    OÙ créé_à LIKE '2017-06-29%'

    répondre
    0
  • 習慣沉默

    習慣沉默2017-06-30 09:55:42

    Le format par défaut de datetime est '2017-06-29 00:00:00' Si vos données contiennent des données ce jour-là, le deuxième élément aura des résultats, vous devez donc d'abord vérifier s'il y a des données ce jour-là. dans le tableau. Et quel est votre format de données ?

    PS : Pour obtenir les données d'un certain jour, vous pouvez utiliser create_at comme 'aaaa-mm-jj%' ou votre deuxième façon d'écrire, date(created_at) et left(created_at) peuvent également obtenir la date du jour, mais ils ne seront pas indexés, l'efficacité est très mauvaise

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-06-30 09:55:42

    Je peux, mais peut-être que votre table ou votre champ est erroné, ou qu'il n'y a effectivement aucun résultat. . Les conditions ne posent aucun problème

    répondre
    0
  • 高洛峰

    高洛峰2017-06-30 09:55:42

    select * from data d WHERE d.created_at >= curdate()
    and d.created_at < DATE_ADD(STR_TO_DATE(curdate(), '%Y-%m-%d'), INTERVAL 1 DAY);

    Cela signifie interroger l'heure qui est supérieure ou égale à 0h00 aujourd'hui et inférieure à 0h00 demain

    répondre
    0
  • 黄舟

    黄舟2017-06-30 09:55:42

    La première ligne est fausse car le format datetime est différent du format dans votre condition.

    La deuxième ligne est correcte.
    Le résultat est également correct, car il n'y a effectivement aucune donnée.

    répondre
    0
  • Annulerrépondre