oracle時間段查詢-00:00:00開始
阿新 • • 發佈:2018-03-18
通過 oracle lec single apply 開始 eat and pro
之所以記錄一下這篇博文,是因為前段時間搞的一個查詢發現要從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開始