Cet article présente principalement la méthode d'interrogation MySql période de temps, y compris la méthode de requête traditionnelle pour le champ temporel et les compétences d'interrogation UNIX horodatage, qui sont d'une grande valeur pratique, mes amis. qui en a besoin peuvent se référer à
L'exemple de cet article décrit la méthode d'interrogation de la période dans MySql. Partagez-le avec tout le monde pour votre référence. Les méthodes spécifiques sont les suivantes :
Tout le monde ne sait peut-être pas comment interroger la période dans MySql. Voici deux méthodes pour interroger la période dans MySql pour votre référence.
Les champs d'heure de MySql incluent la date, l'heure, la date/heure, l'horodatage, etc. Lorsque nous stockons des données, nous stockons souvent l'heure entière dans un seul champ, en utilisant le type datetime, nous pouvons également séparer la date et l'heure ; , c'est-à-dire qu'un champ stocke la date et un champ stocke l'heure. Quelle que soit la manière dont elles sont stockées, dans les applications réelles, il est probable qu'il y ait des requêtes contenant des types de « période ». Par exemple, une base de données d'enregistrements d'accès doit compter le nombre de visites par jour, et chaque jour est une période. Ce qui suit présente deux méthodes courantes pour interroger des périodes dans MySql. D'autres bases de données peuvent également être implémentées de la même manière.
Méthode 1 : méthode traditionnelle , c'est-à-dire spécifier l'heure de début et l'heure de fin, et utiliser "entre" ou "<", ">" interrogation mars 2010 Pour le nombre de données du 1er au 2 mars 2010, vous pouvez utiliser
et le code est le suivant :
select count(*) from sometable where datetimecolumn>='2010-03-01 00:00:00' and datetimecolumn<'2010-03-02 00:00:00'
Cependant, cette méthode n'est pas un entier car l'heure tape des données, donc la comparaison est moins efficace, donc si la quantité de données est importante, l'heure peut être convertie en un horodatage UNIX entier. Il s'agit de la deuxième méthode.
Méthode 2 : horodatage UNIX , chaque fois correspond à un horodatage UNIX unique, l'horodatage est de '1970-01-01 00:00:00' à 0 Démarrer le timing et augmenter de 1 chaque seconde. MySql a une fonction intégrée pour l'échange de l'heure traditionnelle et de l'heure UNIX, qui sont :
UNIX_TIMESTAMP(datetime)
FROM_UNIXTIME(unixtime)
Par exemple , exécutez
Le code est le suivant :
SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')
Renvoie 1267372800
Exécutez
Le code est le suivant :
SELECT FROM_UNIXTIME(1267372800)
Renvoie '2010-03-01 00 :00:00'
Ainsi, nous pouvons remplacer les données dans le champ heure par l'heure UNIX entière. De cette façon, l'heure de comparaison devient une comparaison entière. .Après avoir établi l'index, il peut être grandement amélioré. Lors de l'interrogation, vous devez convertir respectivement l'heure de début et l'heure de fin en heure UNIX à des fins de comparaison, par exemple :
Le code est le suivant :
select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP('2010-03-01 00:00:00') and datetimecolumn<UNIX_TIMESTAMP('2010-03-02 00:00:00')
peut également être Utilisé dans le programme appelant, convertissez d'abord l'heure UNIX, puis transmettez-la dans MySql. En bref, cette méthode permet d'interroger rapidement la période de temps, mais l'heure d'affichage doit être à nouveau inversée.
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!