MySQL查询:按日期搜索结果(mysql按日期查询)
当需要从MySQL数据库查找某种记录,按日期筛选结果时,需要用到MySQL的DATE_FORMAT函数,以便可以在实际的操作中按照具体的日期要求筛选结果。
MySQL中的DATE_FORMAT函数有两个参数,第一个参数是一个MySQL日期类型的表达式,而第二个参数就是可以按照你需要的格式格式化这个表达式表达出来的日期。
考虑在一个名为“USER” 的表中,有一个名为“REGDATE” 的列,拿到该表中 2017 年
12 月在某个日期之前注册的用户。可以将MySQL查询写成如下:
SELECT * FROM `USER` WHERE DATE_FORMAT(`REGDATE`,'%Y-%m-%d')
这里用到的DATE_FORMAT函数用来将MySQL的日期表达式转成只有年月日的格式,而对比的不必另外加‘’引号,所以结果会变成’2017-12-01’,即比较2017年12月01号之前的值。
当然,该查询只是按照一个时间去筛选,这样用起来不太方便,如果需要一定时间范围内的查询,还可以使用BETWEEN语句,比如要查询2017年12月01号至12月31号的用户,可以这样写:
SELECT * FROM `USER` WHERE DATE_FORMAT(`REGDATE`,'%Y-%m-%d') BETWEEN '2017-12-01' AND '2017-12-31'
在上述查询中,DATE_FORMAT函数将MySQL的日期类型的表达式转换成具体的年月日,然后与BETWEEN结合来搜索想要的时间范围内的记录,一种比较高效的查询方式就出现了。
另外,MySQL的DATE_FORMAT函数不仅仅可以按照‘YYYY-MM-DD’格式格式化日期,还可以根据自己喜好加以更改,像’month day,year’, ‘dd/mm/yyyyh:m:ss’, ‘HHmmss’, 等等。只要加入正确的格式说明,就可以很方便的按照自己指定的格式输出日期。
总之,MySQL DATE_FORMAT格式化函数可以帮助用户比较方便的搜索某一特定日期范围内的记录,广泛应用在数据库的查询中,这说明它拥有重要作用。