oracle时间段查询-00:00:00开始

Posted no-npe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle时间段查询-00:00:00开始相关的知识,希望对你有一定的参考价值。

  之所以记录一下这篇博文,是因为前段时间搞的一个查询发现要从00:00:00这个时间段开始,必须要通过拼接字符串。

<select id="queryApplyProgressList" parameterType="java.util.Map" resultType="java.util.Map">
    SELECT T.*, U.USER_SINGLE_FEE
      FROM TAB_TAG_LEASE_APPLY T
    LEFT JOIN TAB_TAG_LEASE_USER U
    ON T.APPLY_USER_ID = U.USER_ID
     WHERE T.IS_DELETE = 0
       AND T.APPLY_USER_ID = #{userId,jdbcType=INTEGER}

    <if test="applyStatus != null">
      AND T.APPLY_STATUS=#{applyStatus,jdbcType=INTEGER}
    </if>
	<--3天内的记录-->
    <if test="three != null">
      AND T.CREATE_TIME <![CDATA[>=]]> TO_DATE(TO_CHAR(SYSDATE-3,‘yyyy/mm/dd‘)||‘ 00:00:00‘,‘yyyy/mm/dd hh24:mi:ss‘)
      AND T.CREATE_TIME <![CDATA[<=]]> TO_DATE(#{listTime},‘yyyy/mm/dd hh24:mi:ss‘)
    </if>
	<--7天内的记录-->
    <if test="seven != null">
      AND T.CREATE_TIME <![CDATA[>=]]> TO_DATE(TO_CHAR(SYSDATE-7,‘yyyy/mm/dd‘)||‘ 00:00:00‘,‘yyyy/mm/dd hh24:mi:ss‘)
      AND T.CREATE_TIME <![CDATA[<=]]> TO_DATE(#{listTime},‘yyyy/mm/dd hh24:mi:ss‘)
    </if>
	<--30天内的记录-->
    <if test="month != null">
      AND T.CREATE_TIME <![CDATA[>=]]> TO_DATE(TO_CHAR(SYSDATE-30,‘yyyy/mm/dd‘)||‘ 00:00:00‘,‘yyyy/mm/dd hh24:mi:ss‘)
      AND T.CREATE_TIME <![CDATA[<=]]> TO_DATE(#{listTime},‘yyyy/mm/dd hh24:mi:ss‘)
    </if>
	<--半年内的记录-->
    <if test="halfYear != null">
      AND T.CREATE_TIME <![CDATA[>=]]> TO_DATE(TO_CHAR(TRUNC(ADD_MONTHS(SYSDATE, -6)),‘yyyy/mm/dd‘)||‘ 00:00:00‘,‘yyyy/mm/dd hh24:mi:ss‘)
      AND T.CREATE_TIME <![CDATA[<=]]> TO_DATE(#{listTime},‘yyyy/mm/dd hh24:mi:ss‘)
    </if>
	<--当前年的记录-->
    <if test="year != null">
      AND TO_CHAR(T.CREATE_TIME, ‘yyyy‘) = TO_CHAR(SYSDATE, ‘yyyy‘)
    </if>
    ORDER BY T.CREATE_TIME DESC
  </select>

  

以上是关于oracle时间段查询-00:00:00开始的主要内容,如果未能解决你的问题,请参考以下文章

需要 Oracle 查询优化(经过的时间 = 2.37 秒)

oracle 查询列表中选取其中一行

Oracle数据库查询某段时间内时间段的数据

SQL查询取分组最大值

oracle 的问题 执行SQL查询语句 出现:部分多字节字符

oracle 存储过程 调用动态sql