mybatis對不同日期格式的查詢查詢Mysql數據庫

總結一些目前遇到的,對日期範圍的查詢,

總共遇到幾種分別記錄下處理方式;

①:前端傳入日期參數格式:YYYY-MM-DD,如:

{
	"startDateStr":"2019-05-16",
	"endDateStr":"2019-05-16"
}

而此時數據存的格式爲:YYYY-MM-DD hh:mm:ss

這時候我採用的查詢方法是直接查詢,先將傳過來的數據分成兩種,1、開始日期=結束日期(也就是查詢今天的數據)

2、開始時間不等於結束時間

<if test="query.startDateStr==query.endDateStr and query.startDateStr != null and query.startDateStr != '' and query.endDateStr != null and query.endDateStr != ''">
		  and  DATE_FORMAT( log_operate_time, '%Y-%m-%d' )  =  DATE_FORMAT( #{query.startDateStr}, '%Y-%m-%d' ) 
		</if>
		<if test="query.startDateStr!=query.endDateStr">
		  <if test="query.startDateStr != null and query.startDateStr != '' ">
			and log_operate_time &gt;  DATE_FORMAT( #{query.startDateStr}, '%Y-%m-%d 00:00:00' ) 
		  </if>
		  <if test="query.endDateStr != null and query.endDateStr != '' ">
			and log_operate_time &lt; DATE_FORMAT( #{query.endDateStr}, '%Y-%m-%d 23:59:59' )  
		  </if>
		</if>

方法①採用先判斷傳入的  開始時間?=結束時間   要是等於,就查詢今天的數據;要是不等於就查詢log_operate_time在開始時間和結束時間的範圍數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章