• <button id="eiyoe"><acronym id="eiyoe"></acronym></button>
    <em id="eiyoe"></em>

  • <rp id="eiyoe"><acronym id="eiyoe"><input id="eiyoe"></input></acronym></rp>
      查看: 212|回復: 0
      上一主題 下一主題

      mysql判斷當前時間是否在開始與結束時間之間且開始與結束時間允許為空

      80343

      主題

      0

      好友

      積分

      離線 發信

      跳轉到指定樓層
      樓主
      發表于 2021-09-16 12:21 | 只看該作者 | 倒序瀏覽
      目錄
      • 需求:查詢進行中的活動數據
      • 下面sql則查詢的是滿足以上四種需求的結果集,達標題需求

      需求:查詢進行中的活動數據

      進行中一共有以下幾種情況:
      1.開始時間為空,結束時間為空, 此結果數據將永遠為進行中的數據
      2.開始時間為空,結束時間不為空,則當前時間在結束時間之前,為進行中的數據
      3.開始時間不為空,結束時間為空,則當前時間在開始時間之后,為進行中的數據
      4.開始時間不為空,結束時間不為空,則當前時間在開始與結束時間段之內的數據為進行中數據

      下面sql則查詢的是滿足以上四種需求的結果集,達標題需求

      SELECT * FROM 
      表名
      WHERE 1=1 
      and(start_time is null or start_time<now()) 
      and(end_time is null or end_time>now())
      

      mybatis寫法,開始時間與結束時間傳入參數允許為空
      如圖所示:

      在這里插入圖片描述

      <if test="record.startDate != null and record.startDate != '' or record.endDate != null and record.endDate != '' ">
            AND id in
            (select id from rht_product_price where 1=1
            <if test="record.startDate != null and record.startDate != ''">
              and  start_date &lt;= #{record.startDate,jdbcType=VARCHAR}
            </if>
            <if test="record.endDate!= null and record.endDate != ''">
              and end_date &gt;= #{record.endDate,jdbcType=VARCHAR}
            </if>
            )
          </if>
      

      到此這篇關于mysql判斷當前時間是否在開始與結束時間之間且開始與結束時間允許為空的文章就介紹到這了,更多相關mysql判斷當前時間是否在開始與結束時間之間內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

      來源:http://www.jb51.net/article/221884.htm