Maison > base de données > tutoriel mysql > le corps du texte

Comment interroger la période dans MySQL

coldplay.xixi
Libérer: 2020-10-29 16:22:15
original
6093 Les gens l'ont consulté

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 « < », « > » 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时间戳,这就是方法二。
Copier après la connexion

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;)
Copier après la connexion

renvoie 1267372800

Exécuter

SELECT FROM_UNIXTIME(1267372800)
Copier après la connexion

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;)
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!