SQL中查询两个⽇期之间的数据
SQL中查询两个⽇期之间的数据,举例及解决⽅法如下:
1、假如要查询表字段datetime为frometime⾄totime之间的所有数据。
2、可以使⽤以下查询语句:
SELECT * FROM 表名
WHERE datetime BETWEEN 'frometime' and 'totime' ;
3、必要说明:在SQL语句中,引⽤常量⽇期时,必须加单引号,否则会得到错误结果。
⽅法⼆:UNIX时间戳,每个时间对应了⼀个唯⼀的UNIX时间戳,该时间戳是从'1970-01-01 00:00:00' 为0开始计时,每秒增加1。MySql内置了传统时间和UNIX时间的互换函数,分别为:
UNIX_TIMESTAMP(datetime)
FROM_UNIXTIME(unixtime)
⽐如运⾏
SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')
返回1267372800
运⾏
SELECT FROM_UNIXTIME(1267372800)
select语句查询日期返回'2010-03-01 00:00:00'
于是,我们可以将时间字段⾥的数据替换为整型的UNIX时间,这样,⽐较时间就成为整数⽐较了,建⽴索引后能⼤⼤提⾼效率。在查询的时候,需要把起点时间和结尾时间分别转换为UNIX时间再进⾏⽐较,如:
select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP('2010-03-01 00:00:00') and datetimecolumn
也可以在调⽤程序中先转换为UNIX时间再传⼊MySql,总之这种⽅式有利于快速查询时间段,不过显⽰时间则需要再反转⼀次。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论