select * from table where 时间列 >'2016-07-14 18:00:00' and 时间列 <'2016-10-14 18:00:00' 这是查询 2016年7月下午六点到 10月下午六点的数据
例子:where year(COL)*100 + month(COL) between 201812 and 201903
懂了就不看下面的废话:year*100+month把日期类型的COL字段转换为yyyymm的6位整数,然后使用BETWEEN来筛选。
这样的方法好写,但是效率不高,无法使用索引。如果要使用日期字段的索引,必须在客户端计算出起止日期,然后再BETWEEN两个日期之间,开始日期就是yyyymm01、结束日期是yyyy(mm+1)01-1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)