MySQL里面的日期字符串如何转成日期做比较运算,获取两个日期之间的所有日期(包括起始日期)
SELECTSUM( current_in_amt ) AS total_in_amt
FROM`t_ads_spare_store_in_contrast`
WHERESTR_TO_DATE( `etl_date`, '%Y-%m-%d' ) >= STR_TO_DATE( '2024-01-01', '%Y-%m-%d' ) AND STR_TO_DATE( `etl_date`, '%Y-%m-%d' ) <= STR_TO_DATE( '2024-01-04', '%Y-%m-%d' );
比如日期格式是 2024-01-01,如果想累加日期不好做比较,那么就采用这种方式来做
或者直接用代码 把所有日期取得,然后in查询算出来
/*** 获取两个日期之间的所有日期(包括起始日期)** @param startDate 开始日期* @param endDate 结束日期* @param formatter 日期格式化器* @return 日期字符串列表*/public static List<String> getDatesBetween(LocalDate startDate, LocalDate endDate, DateTimeFormatter formatter) {List<String> dates = new ArrayList<>();while (!startDate.isAfter(endDate)) {dates.add(startDate.format(formatter));startDate = startDate.plusDays(1);}return dates;}