Maison > Article > base de données > Comment interroger une plage de dates dans MySQL
Dans MySQL, vous pouvez utiliser le mot-clé "BETWEEN AND" pour interroger la plage de dates spécifiée. Ce mot-clé est utilisé pour déterminer si la valeur du champ est dans la plage spécifiée. La syntaxe est "SELECT * FROM table name WHERE field". nom entre 'heure 1' et 'Heure 2'".
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
Comment interroger la plage de dates dans MySQL
MySQL fournit le mot-clé BETWEEN AND pour déterminer si la valeur du champ se situe dans la plage spécifiée.
BETWEEN AND nécessite deux paramètres, la valeur de départ et la valeur de fin de la plage. Si la valeur du champ se situe dans la plage spécifiée, ces enregistrements sont renvoyés. S'il ne se situe pas dans la plage spécifiée, il ne sera pas renvoyé.
Le format de syntaxe de base pour utiliser BETWEEN AND est le suivant :
[NOT] BETWEEN 取值1 AND 取值2
Où :
NOT : paramètre facultatif, indiquant une valeur en dehors de la plage spécifiée. Si la valeur du champ ne correspond pas à la plage de valeurs spécifiée, ces enregistrements sont renvoyés.
Valeur 1 : Indique la valeur de départ de la plage.
Valeur 2 : Indique la valeur finale de la plage. Les mots-clés
BETWEEN AND et NOT BETWEEN AND sont utiles lors de l'interrogation d'enregistrements dans une plage spécifiée. Par exemple, interrogez les tranches d'âge des étudiants, leurs dates de naissance, les niveaux de salaire des employés, etc.
Les exemples sont les suivants :
Comme le montre le tableau suivant, query, create_time est de type datetime, interrogez les données dans deux plages de dates.
Méthode 1, entre... et (recommandée)
SELECT * FROM k_student WHERE create_time between '2019-07-25 00:00:33' and '2019-07-25 00:54:33'
Méthode 2, supérieure ou égale à
SELECT * FROM k_student WHERE create_time >= '2019-07-25 00:00:33' AND create_time <= '2019-07-25 00:54:32'
Méthode 3, convertir en UNIX_TIMESTAMP pour comparaison, si create_time est indexé, il ne sera pas indexé
SELECT * FROM k_student WHERE UNIX_TIMESTAMP(create_time) between UNIX_TIMESTAMP('2019-07-25 00:00:33') and UNIX_TIMESTAMP('2019-07-25 00:54:33')
Recommandé pour apprendre : tutoriel vidéo mysql
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!