mysql中怎么查询某年某月的数据

mysql中怎么查询某年某月的数据,第1张

1、查询确定年月的数据,使用to_date或to_char都可以实现 SELECT * FROM 表名 WHERE TO_CHAR(日期列,'YYYY-MM') = TO_CHAR('2013-06','YYYY-MM') 或者 SELECT * FROM 表名 WHERE 日期列 = TO_Date('2013-06','YYYY-MM')

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') 这里的参数长短

例子:

where year(COL)*100 + month(COL) between 201812 and 201903

懂了就不看下面的废话:year*100+month把日期类型的COL字段转换为yyyymm的6位整数,然后使用BETWEEN来筛选。

这样的方法好写,但是效率不高,无法使用索引。如果要使用日期字段的索引,必须在客户端计算出起止日期,然后再BETWEEN两个日期之间,开始日期就是yyyymm01、结束日期是yyyy(mm+1)01-1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7671055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存