例子:
where year(COL)100 + month(COL) between 201812 and 201903
懂了就不看下面的废话:year100+month把日期类型的COL字段转换为yyyymm的6位整数,然后使用BETWEEN来筛选。
这样的方法好写,但是效率不高,无法使用索引。如果要使用日期字段的索引,必须在客户端计算出起止日期,然后再BETWEEN两个日期之间,开始日期就是yyyymm01、结束日期是yyyy(mm+1)01-1
MYSQL可以用DATE函数, SQLSERVER 可以用CAST(XXX AS DATE)
不过比较时间可以直接用DATEDIFF()(MYSQL/SQLSERVER)/TIMESTAMPDIFF(MYSQL)
where 是筛选条件,怎么还用 as 你把 as 去掉后再试啊
下列语句是筛选当月数据
S1END_WEIGHT_DATE AS '成交日期' ,
WHERE DATE_FORMAT(S1END_WEIGHT_DATE, '%Y%m') = DATE_FORMAT(now(), '%Y%m')
以上就是关于mysql如何查某年某月至某年某月的数据,没有日全部的内容,包括:mysql如何查某年某月至某年某月的数据,没有日、如何截取数据库中date型的日期的年和月然后加在where语句后面、mysql 查询某个月的记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)