星空雅梦

日期区间段查询具体到天和具体到时分秒的写法

具体到天

<!--
**************************************************************************
* 9.getListPage条件查询
* 注: 支持多条件查询、模糊查询、日期比较查询等操作.
**************************************************************************
-->

注:数据库的DOCUMENTATION_DATE字段类型为DATETIME,传进来的日期变量为Date型
<select id="getListPage"
       parameterType="com.cgd.pay.vo.EntryTotalInfoVO"
       resultType="com.cgd.pay.po.EntryTotalInfoPO">


       SELECT   /* getListPage */
            t.APPLY_NO             AS applyNo             /* 汇总单号 */            
           ,t.PURCHASE_ID          AS purchaseId          /* 供应商ID */
           ,t.NOT_TAX_AMT          AS notTaxAmt           /* 总货款 */
           ,t.TAX                  AS tax                 /* 税额 */
           ,t.AMT                  AS amt                 /* 价税合计 */
           ,t.DOCUMENTATION_DATE     AS documentationDate   /* 制单日期*/
           ,t.SOURCE AS source   /* 来源*/
           ,t.COMPANY_ID AS companyId   /*运营单位Id*/
           ,t.DOCUMENTATION_ID     AS documentationId   /*制单Id*/
       FROM   d_entry_total_info  AS  t  /* d_entry_total_info */ 
       WHERE   1 = 1
<if test="entryTotalInfoVO.beginEntryDate != null ">
              AND  date_format(t.DOCUMENTATION_DATE,'%Y-%m-%d') &gt;= #{entryTotalInfoVO.beginEntryDate,jdbcType=DATE}

/* 开始日期查询,把查询出来的字段转换格式再变量进行比较 */            &gt;=大于等于
            </if>
            
            <if test="entryTotalInfoVO.finalEntryDate != null ">
               AND  date_format(t.DOCUMENTATION_DATE,'%Y-%m-%d') &lt;= #{entryTotalInfoVO.finalEntryDate,jdbcType=DATE}/* 结束日期查询 */  &lt;=小于等于
            </if>


            <!-- 排序信息 -->
            <if test="orderBy != null and orderBy != ''">
               ORDER BY ${orderBy}  /* 排序 */ 
            </if>
</select>

具体到时分秒

<select id="getListPage"
       parameterType="com.cgd.pay.vo.EntryInfoVO"
       resultType="com.cgd.pay.po.EntryInfoPO">


       SELECT   /* getListPage */
            t.ENTRY_DATE           AS entryDate           /* 入库日期 */
           ,t.ENTRY_NO             AS entryNo             /* 入库单号 */
           ,t.ENTRY_TYPE           AS entryType           /* 入库类型 01-正常入库  02-暂估入库 */
           ,t.NOTIFICATION_NO      AS notificationNo      /* 开票通知单号 */
           ,t.PURCHASE_ID          AS purchaseId          /* 供应商ID */
           ,t.NOT_TAX_AMT          AS notTaxAmt           /* 不含税总价 */
           ,t.TAX                  AS tax                 /* 税额 */
           ,t.AMT                  AS amt                 /* 价税合计 */
           ,t.STATUS               AS status              /* 状态 01-未汇总 02-已汇总 */
           ,t.SOURCE AS source /* 来源*/
           ,t.APPLY_NO   AS applyNo   /* 汇总单号*/
           ,t.OPR_COMPANY_ID AS oprCompanyId /*运营单位Id*/
       FROM   d_entry_info  AS  t  /* d_entry_info */ 
       WHERE   1 = 1              
            <if test="entryInfoVO.startEntryDate != null ">
               AND  t.ENTRY_DATE &gt;= #{entryInfoVO.startEntryDate}/* 开始日期查询 */ 
            </if>
            
            <if test="entryInfoVO.endEntryDate != null ">
               AND  t.ENTRY_DATE &lt;= #{entryInfoVO.endEntryDate}/* 结束日期查询 */ 
            </if>
具体时分秒==》对数据库日期和传进来的变量 日期都不用进行格式转换

            <!-- 排序信息 -->
            <if test="orderBy != null and orderBy != ''">
               ORDER BY ${orderBy}  /* 排序 */ 
            </if>


</select>

原文地址:https://www.cnblogs.com/LiZhongZhongY/p/10897866.html