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>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM