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>