发布网友 发布时间:2022-04-26 18:16
共2个回答
热心网友 时间:2022-04-13 08:17
例子:
where year(COL)*100 + month(COL) between 201812 and 201903
懂了就不看下面的废话:year*100+month把日期类型的COL字段转换为yyyymm的6位整数,然后使用BETWEEN来筛选。
这样的方法好写,但是效率不高,无法使用索引。如果要使用日期字段的索引,必须在客户端计算出起止日期,然后再BETWEEN两个日期之间,开始日期就是yyyymm01、结束日期是yyyy(mm+1)01-1
热心网友 时间:2022-04-13 09:35
select * from 表 where date_format(日期,'%Y-%m-%d')='2014-04-01' 日期
select * from 表 where date_format(日期,'%Y-%m')='2014-04' 月份
select * from 表 where date_format(日期,'%Y')='2014' 年
就是date_format(日期,'%Y-%m-%d') 这里的参数长短