Rumah > pangkalan data > tutorial mysql > mysql如何查询时间段

mysql如何查询时间段

coldplay.xixi
Lepaskan: 2020-10-29 16:22:15
asal
6168 orang telah melayarinya

mysql查询时间段的方法:1、传统方式,即指定开始时间和结束时间;2、UNIX时间戳,每个时间对应了一个唯一的UNIX时间戳,函数为【UNIX_TIMESTAMP(datetime)】。

mysql如何查询时间段

mysql查询时间段的方法:

方法一:传统方式,即指定开始时间和结束时间,用"between”或者"<",">"来建立条件,比如查询2010年3月1日到2010年3月2日的数据条数,则可以使用

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时间戳,这就是方法二。
Salin selepas log masuk

方法二:UNIX时间戳,每个时间对应了一个唯一的UNIX时间戳,该时间戳是从'1970-01-01 00:00:00' 为0开始计时,每秒增加1。MySql内置了传统时间和UNIX时间的互换函数,分别为:

  • UNIX_TIMESTAMP(datetime)

  • FROM_UNIXTIME(unixtime)

比如运行

代码如下:

SELECT UNIX_TIMESTAMP(&#39;2010-03-01 00:00:00&#39;)
Salin selepas log masuk

返回1267372800

运行

SELECT FROM_UNIXTIME(1267372800)
Salin selepas log masuk

返回'2010-03-01 00:00:00'

于是,我们可以将时间字段里的数据替换为整型的UNIX时间,这样,比较时间就成为整数比较了,建立索引后能大大提高效率。在查询的时候,需要把起点时间和结尾时间分别转换为UNIX时间再进行比较,如:

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;)
Salin selepas log masuk

也可以在调用程序中先转换为UNIX时间再传入MySql,总之这种方式有利于快速查询时间段,不过显示时间则需要再反转一次。

更多相关免费学习推荐:mysql教程(视频)

Atas ialah kandungan terperinci mysql如何查询时间段. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan