MySQL中對於時間操作的函數
DATE_FORMAT(date,format)
語法實操:
SELECT
*
FROM
rule_event
WHERE
DATE_FORMAT( rule_event.time, '%Y-%m-%d %H:%i:%S' ) = "2020-06-10 08:00:00"
這句SQL查出的結果是時間在2020-06-10 08:00:00中的數據
SELECT
*
FROM
rule_event
WHERE
DATE_FORMAT( 時間字段, '模糊的時間格式' ) = "傳入的參數值"
這句SQL還可以這樣寫:
SELECT
*
FROM
rule_event
WHERE
DATE_FORMAT( rule_event.time, '%Y-%m-%d %H:%i:%S' ) = "08:00:00"
這句SQL查出的結果是時間在08:00:00中的數據
在mybatis中的SQL怎麼寫:
用到 <![CDATA[ ]]>
這是XML語法。在CDATA內部的所有內容都會被解析器忽略。
<select id="queryListByDate"
resultType="com.lianxi.ruleEvent">
select * from rule_event
where
<![CDATA[(DATE_FORMAT(event_time, '%Y-%m-%d %H:%i:%s') = DATE_FORMAT( #{event_time}, '%Y-%m-%d %H:%i:%s'))]]>
</select>
還可以這樣寫
<select id="queryListByDate"
resultType="com.lianxi.ruleEvent">
select * from rule_event
where sts=0
<![CDATA[ and (DATE_FORMAT(event_time, '%Y-%m-%d %H:%i:%s') = DATE_FORMAT( #{event_time(08:00:00)}, '%Y-%m-%d %H:%i:%s'))]]>
</select>