sql查询某个时间段内的数据(包括开始时间,结束时间)!

解释:

1、DATE_FORMAT作用:用来格式化数据,最好将比较的两个数据格式化一个格式。

2、order by COMMENT_TIME desc作用:根据COMMENT_TIME时间属性降序

3、limit #{startRow, jdbcType=INTEGER} , #{pageSize, jdbcType=INTEGER}作用:进行分页查询,startRow表示第几页,pageSize表示一页多少条数据。

4、符号的作用:使用符号进行说明,将一下符号不进行解析。
XML转义字符
< < 小于号
> > 大于号
> & & 和
’ ’ 单引号
" ” 双引号

SELECT * FROM  tbl_environment_comment
    where 1 = 1
    <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
      AND DATE_FORMAT(COMMENT_TIME, "%Y-%m-%d") BETWEEN DATE_FORMAT(#{startTime,jdbcType=VARCHAR}, "%Y-%m-%d") AND DATE_FORMAT(#{endTime,jdbcType=VARCHAR}, "%Y-%m-%d")
    </if>
    <if test="(startTime == null or startTime == '') and endTime != null and endTime != ''">
      <![CDATA[
         and DATE_FORMAT(COMMENT_TIME, "%Y-%m-%d") <= DATE_FORMAT(#{endTime,jdbcType=VARCHAR}, "%Y-%m-%d")
    ]]>
    </if>
    <if test="startTime != null and startTime != '' and (endTime == null or endTime == '')">
      <![CDATA[
        and DATE_FORMAT(COMMENT_TIME, "%Y-%m-%d") >= DATE_FORMAT(#{startTime,jdbcType=VARCHAR}, "%Y-%m-%d")
    ]]>
    </if>
    <if test="pageSize!=null and pageSize!='' ">
    order by COMMENT_TIME desc
      limit #{startRow, jdbcType=INTEGER} , #{pageSize, jdbcType=INTEGER}
    </if>

你可能感兴趣的:(MySQL)