遇到了一個問題,插入時間數據的時候,雖然我希望保存的只是yyyy-MM-dd類型的時間數據,但是實際上,數據庫會將其保存爲精確的時間戳,在這種情況下,如果需要取某個日期範圍內的數據時,在比較日期大小的時候,會出現頭尾日期的數據取不到的問題。因此,將查詢語句修改爲:
select *
from t_user
WHERE
<if test="startTime != null" >
<![CDATA[ and DATE_FORMAT(t.create_time, '%Y-%m-%d') >= DATE_FORMAT(#{startTime}, '%Y-%m-%d')]]>
</if>
<if test="endTime != null" >
<![CDATA[ and DATE_FORMAT(t.create_time, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d')]]>
</if>