Maison  >  Article  >  base de données  >  Comment interroger la période dans MySQL

Comment interroger la période dans MySQL

coldplay.xixi
coldplay.xixioriginal
2020-10-28 15:34:226129parcourir

Méthode de période de requête MySQL : 1. Méthode traditionnelle, c'est-à-dire spécifier l'heure de début et l'heure de fin ; 2. Horodatage UNIX, chaque heure correspond à un horodatage UNIX unique, la fonction est [UNIX_TIMESTAMP(datetime ) ].

Comment interroger la période dans MySQL

Méthode de période de requête MySQL :

Méthode 1 : Méthode traditionnelle, c'est-à-dire Spécifiez l'heure de début et l'heure de fin, et utilisez « entre » ou « be3cd941e6e104ac68e2fbe96ae5a034 » pour établir des conditions. Par exemple, pour interroger le nombre d'éléments de données du 1er mars 2010 au 2 mars 2010. utilisez

select count(*) from sometable where datetimecolumn>=&#39;2010-03-01 00:00:00&#39; and datetimecolumn<&#39;2010-03-02 00:00:00&#39;但是,这种方法由于时间不是整数型数据,所以在比较的时候效率较低,所以如果数据量较大,可以将时间转换为整数型的UNIX时间戳,这就是方法二。

Méthode 2 : Horodatage UNIX Chaque fois correspond à un horodatage UNIX unique. L'horodatage commence à partir de '1970-01-01 00:00:00' qui est 0 Timing. augmentant de 1 chaque seconde. MySql a des fonctions d'échange intégrées entre l'heure traditionnelle et l'heure UNIX, qui sont :

  • UNIX_TIMESTAMP(datetime)

  • FROM_UNIXTIME(unixtime)

Par exemple, si vous exécutez

, le code est le suivant :

SELECT UNIX_TIMESTAMP(&#39;2010-03-01 00:00:00&#39;)

renvoie 1267372800

Exécuter

SELECT FROM_UNIXTIME(1267372800)

renvoie '2010 -03-01 00:00:00'

Ainsi, nous pouvons remplacer les données dans le champ heure par une heure UNIX entière. De cette façon, l'heure de comparaison devient une heure. comparaison d'entiers, qui peut être grandement améliorée après avoir établi un indice d'efficacité. Lors de l'interrogation, vous devez convertir respectivement l'heure de début et l'heure de fin en heure UNIX avant la comparaison, par exemple :

select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP(&#39;2010-03-01 00:00:00&#39;) and datetimecolumn<UNIX_TIMESTAMP(&#39;2010-03-02 00:00:00&#39;)

Vous pouvez également la convertir en heure UNIX dans le programme appelant, puis la transmettre dans MySql In. Bref, cette méthode Il est utile d'interroger rapidement la période de temps, mais l'heure d'affichage doit être à nouveau inversée.

Plus de recommandations d'apprentissage gratuites connexes : tutoriel MySQL(vidéo)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn