84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
我数据库存的可能包含时分秒的时间戳,现在有一个时间只有年 月 日 需要进行对比 如果相等的话就查询出来,哪位大神指导一下怎么判断 查询,万分感谢。
业精于勤,荒于嬉;行成于思,毁于随。
方法还是有挺多种的,但是我看你需求,应该是需要模糊查询,我就讲一种比较好理解的吧1.把只有"年-月-日"的时间使用sorttime函数转换成时间戳,这样你就得到当天0点的时间了time1;2.仍然使用sorttime函数得到+1的时间,或者直接加上1天的总秒数也行,变量名time2,这样就有2个时间节点了3.使用between查询,这样就能得到当天的所有数据了=========如果我理解错了,指正一下,我再改=========
介绍两种方式,推荐第一种
只要年月日相等,则意思是查询某天范围内的数据,自己主动控制时间范围,例如查询'2016-10-28'的数据
$st = strtotime("2016-10-28"); $et = strtotime("2016-10-28 23:59:59"); select * from table where date_field between $st and $et
直接用 mysql 内置函数 FROM_UNIXTIME(date_field, '%Y%m%d')
mysql
FROM_UNIXTIME(date_field, '%Y%m%d')
select * from table where FROM_UNIXTIME(date_field,'%Y%m%d') ="2016-10-28"
下面是保存字段为datetime格式的sql
datetime
sql
select * from table where date_field between "2016-10-28" and "2016-10-28 23:59:59"
select * from table where DATE_FORMAT(date_field , '%Y%m%d') ="2016-10-28"
如果数据库里的日期格式一样的话通过MySQL的substr函数截取到日再做比较
楼主的问题其实就是:根据时间字段查询某一天(比如2016年10月28日)的数据:
<?php $min = strtotime('2016-10-28'); $max = strtotime('2016-10-29'); echo "select * from t where time >= $min and time < $max"; // 输出 select * from t where time >= 1477584000 and time < 1477670400
如果时间字段time存储的不是时间戳,而是date('YmdHis')格式的数据,则可以这样:
select * from t where time >= 20161028000000 and time < 20161029000000
方法还是有挺多种的,但是我看你需求,应该是需要模糊查询,我就讲一种比较好理解的吧
1.把只有"年-月-日"的时间使用sorttime函数转换成时间戳,这样你就得到当天0点的时间了time1;
2.仍然使用sorttime函数得到+1的时间,或者直接加上1天的总秒数也行,变量名time2,这样就有2个时间节点了
3.使用between查询,这样就能得到当天的所有数据了
=========如果我理解错了,指正一下,我再改=========
介绍两种方式,推荐第一种
只要年月日相等,则意思是查询某天范围内的数据,自己主动控制时间范围,例如查询'2016-10-28'的数据
直接用
mysql
内置函数FROM_UNIXTIME(date_field, '%Y%m%d')
下面是保存字段为
datetime
格式的sql
如果数据库里的日期格式一样的话通过MySQL的substr函数截取到日再做比较
楼主的问题其实就是:
根据时间字段查询某一天(比如2016年10月28日)的数据:
如果时间字段time存储的不是时间戳,而是date('YmdHis')格式的数据,则可以这样: