Mysql 按当天、当月、上月及按日期范围查询 DATE_FORMAT( date, ‘%Y%m‘ )

//1、根据开始时间结束时间查询
SELECT *
FROM
record
WHERE 1=1
<if test="dateEnd != null and dateEnd != ''"> AND operation_time <![CDATA[ < ]]> str_to_date(#{dateEnd},'%Y-%m-%d %H:%i:%s')</if>
<if test="dateStart != null and dateStart != ''"> AND operation_time <![CDATA[ >= ]]> str_to_date(#{dateStart},'%Y-%m-%d %H:%i:%s')</if>
ORDER BY id DESC
 
//2、查询当天数据
SELECT *
FROM
record
WHERE 1=1
AND DATE_FORMAT( operation_time, '%Y%m%d' ) = DATE_FORMAT( CURDATE() , '%Y%m%d' )
ORDER BY id DESC
 
 
//3、查询当月数据
SELECT *
FROM
record
WHERE 1=1
AND DATE_FORMAT( operation_time, '%Y%m' ) = DATE_FORMAT( CURDATE() , '%Y%m' )
ORDER BY id DESC
 
//4、查询上个月数据
SELECT *
FROM
record
WHERE 1=1
AND PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( operation_time, '%Y%m' ) ) =1
ORDER BY id DESC

上一篇:天际线问题


下一篇:算法初识A