数据库对于时间的部分操作详解

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>

!!!暂时就这些,之后遇到其他的在更新

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