关于MYSQL中时间列作为索引的问题

秋到尽头 发布于 2012/11/21 10:57
阅读 5K+
收藏 1
MYSQL 中,我有一张表,里面有时间列,gid ,pid,cid,但是后面3个不能作为索引,所以只能用时间作为索引,但是我的存储过程中会应用要时间对比,只有一个,是传入的时间与表中时间差为0,也就是datediff=0,现在能不能帮我想个方法,能where date=方法(传入时间)  谢谢了~~
加载中
0
八宝旗
八宝旗

1、datediff函数是日期差值,精确到天,并不能精确到时间

2、where date=某个时间,这个是正常用法,必须可以使用

3、如果想查当天或者某天的数据,假设日期变量为cur_date

where date>=cur_date and date<date_add(cur_date,interval 1 day)

八宝旗
八宝旗
回复 @秋到尽头 : datediff(date,i_date)=0 这样用不到索引 想用索引,参照上面的3,替换下变量就行 where date>=i_date and date<date_add(i_date,interval 1 day)
秋到尽头
秋到尽头
我datediff就是来算传进来的时间是不是跟表中的数据是一天的,我现在的算法就是datediff(date,i_date)=0,(i_date是传入参数)。我现在就是要把表中的date作为索引,所以算法要遍,不能动date,还要判断date和i_date是同一天
返回顶部
顶部