做个小小的总结,关于时间函数中的一种用法的。
之前做到的一个项目用到了查询一个时间段之内的数据,比如说让用户查询出来的数据是两周之内的,如若超出两周的话,那么那些信息将不会被显示出来,中间用了两种数据库来做,一个是SQL2005,另一个是Access。
下面先说SQL2005的做法:其实这两种数据库都是用了同一个函数,不同的是函数中的参数稍有变动。
datediff(day,_date,getdate()) <= 14
datediff这个函数计算的是时间差,括号中的第一个参数是求的时间单位,这里也可以是其他的单位,比如年、月,我在这里用的是天,所以是day,第二个参数是你的数据表中的存储时间的字段名,第三个地球人都知道了,是获取现在日期的函数。datediff计算出数据表中的时间跟现在的时间的差值,然后再跟一个常量相互比较就OK了,这个结果就是时间小于等于当前日期14的数据,即是14天之内的数据才可以显示出来。
Access数据库中的跟这个是一样的,只是参数稍有不同。
datediff('d',datetime,now) <=14第一个参数换成了d,第二个同样的是数据表中的字段名,第三个参数是access数据库中获取当前日期的函数,这个跟sql中略有不同。