最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql查詢時間區(qū)間日期列表實例代碼

 更新時間:2022年04月19日 16:30:51   作者:碼奴生來只知道前進~  
最近常用到mysql的日期范圍搜索,下面這篇文章主要給大家介紹了關(guān)于Mysql查詢時間區(qū)間日期列表的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

1、查詢時間區(qū)間日期列表,不會由于數(shù)據(jù)表數(shù)據(jù)影響

select a.date 
from (
    select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a) ) DAY as date
    from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
    cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
    cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c
    cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as d
) a
where a.date between '2020-01-20' and '2021-12-24' ORDER BY a.date asc

 tips:如果要查詢當前日期后面的數(shù)據(jù) curdate()改為截止日期就好

2、創(chuàng)建視圖可以公共使用

CREATE VIEW v_digits AS
  SELECT 0 AS digit UNION ALL
  SELECT 1 UNION ALL
  SELECT 2 UNION ALL
  SELECT 3 UNION ALL
  SELECT 4 UNION ALL
  SELECT 5 UNION ALL
  SELECT 6 UNION ALL
  SELECT 7 UNION ALL
  SELECT 8 UNION ALL
  SELECT 9;
 
CREATE VIEW v_numbers AS
  SELECT
    ones.digit + tens.digit * 10 + hundreds.digit * 100 + thousands.digit * 1000 AS number
  FROM
    v_digits as ones,
    v_digits as tens,
    v_digits as hundreds,
    v_digits as thousands;
		
-- 生成的日期格式為  yyyy-MM-dd		
CREATE VIEW v_dates AS
  SELECT
    SUBDATE(CURRENT_DATE(), number) AS date
  FROM
    v_numbers
  UNION ALL
  SELECT
    ADDDATE(CURRENT_DATE(), number + 1) AS date
  FROM
    v_numbers;
 
-- 生成的日期格式為 yyyy-MM
CREATE VIEW v_months AS
  SELECT
    DATE_FORMAT(SUBDATE(CURRENT_DATE(), INTERVAL number MONTH),'%Y-%m')  AS date
  FROM
    v_numbers
  UNION ALL
  SELECT
    DATE_FORMAT(ADDDATE(CURRENT_DATE(), INTERVAL number+1 MONTH),"%Y-%m") AS date
  FROM
    v_numbers;

3、創(chuàng)建為視圖之后,可以通過視圖查詢時間區(qū)間列表日期

SELECT
  date
FROM
  v_dates
WHERE
  date BETWEEN '2020-01-20' AND '2021-01-24'
ORDER BY
  date asc 

4、查詢時間區(qū)間按月

select DATE_FORMAT(str_to_date (a.Date,'%Y-%m-%d'),"%Y-%m") as Date 
from (
    select '2011-12-24' - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a) ) MONTH as Date
    from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
    cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
    cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c
    cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as d
) a
where a.Date between '2010-01-20' and '2011-12-24' ORDER BY a.Date asc;

附:在對mysql的時間進行區(qū)間查詢的時候出現(xiàn)的問題

<if test="searchcondition.starttime!=null">
    <![CDATA[ and select_data.data_time ?>= #{searchcondition.starttime,jdbcType=TIMESTAMP} ]]>
</if>

<if test="searchcondition.stoptime!=null">
    <![CDATA[ and select_data.data_time <= #{searchcondition.stoptime,jdbcType=TIMESTAMP} ]]>
</if>

在test中不能使用searchcondition.stoptime!=’ ‘這個判斷會報錯,上面的是標準的時間查詢,自己做的時候總是會加上!=’ ‘這個條件.所以總是報錯,記錄一下.

總結(jié)

到此這篇關(guān)于Mysql查詢時間區(qū)間日期列表的文章就介紹到這了,更多相關(guān)Mysql查詢時間區(qū)間日期列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql死鎖和分庫分表問題詳解

    mysql死鎖和分庫分表問題詳解

    這篇文章主要給大家介紹了關(guān)于mysql死鎖和分庫分表問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • MySQL中的臨時表與內(nèi)存表

    MySQL中的臨時表與內(nèi)存表

    這篇文章主要介紹了MySQL中的臨時表與內(nèi)存表,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MAC下修改mysql默認字符集為utf8的方法

    MAC下修改mysql默認字符集為utf8的方法

    本文主要介紹了如何修改MAC版mysql默認字符集為utf8,如果你的MAC版mysql字符亂碼,可以參考一下這篇文章
    2018-03-03
  • 淺談MySQL排序原理與案例分析

    淺談MySQL排序原理與案例分析

    這篇文章主要介紹了淺談MySQL排序原理與案例分析的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • MySQL日期數(shù)據(jù)類型、時間類型使用總結(jié)

    MySQL日期數(shù)據(jù)類型、時間類型使用總結(jié)

    MySQL日期數(shù)據(jù)類型、MySQL時間類型使用總結(jié),需要的朋友可以參考下。
    2010-06-06
  • mysql 死鎖和死鎖檢測的實現(xiàn)

    mysql 死鎖和死鎖檢測的實現(xiàn)

    MySQL提供了死鎖檢測機制,可以自動檢測和解決死鎖問題,本文主要介紹了mysql 死鎖和死鎖檢測的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-09-09
  • JDBC連接的六步實例代碼(與mysql連接)

    JDBC連接的六步實例代碼(與mysql連接)

    這篇文章主要給大家介紹了關(guān)于JDBC連接的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • MySQL8.2.0安裝教程分享

    MySQL8.2.0安裝教程分享

    這篇文章詳細介紹了如何在Windows系統(tǒng)上安裝MySQL數(shù)據(jù)庫軟件,包括下載、安裝、配置和設(shè)置環(huán)境變量的步驟
    2025-02-02
  • MySQL ERROR 2013 (HY000)錯誤解決方法

    MySQL ERROR 2013 (HY000)錯誤解決方法

    這篇文章主要介紹了MySQL ERROR 2013 (HY000)錯誤解決方法,錯誤提示全文ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104,需要的朋友可以參考下
    2015-01-01
  • mysql主鍵的缺少導致備庫hang住

    mysql主鍵的缺少導致備庫hang住

    最近線上頻繁的出現(xiàn)slave延時的情況,經(jīng)排查發(fā)現(xiàn)為用戶在刪除數(shù)據(jù)的時候,由于表主鍵的主鍵的缺少,同時刪除條件沒有索引,或或者刪除的條件過濾性極差,導致slave出現(xiàn)hang住
    2016-05-05

最新評論

剑阁县| 江川县| 安福县| 桐庐县| 大埔县| 信阳市| 莒南县| 明星| 确山县| 南京市| 秀山| 公安县| 盘锦市| 栾川县| 枣庄市| 九江县| 南雄市| 高台县| 台州市| 滨州市| 集安市| 三河市| 吉安县| 乳山市| 镇雄县| 阳春市| 嵩明县| 改则县| 唐河县| 广水市| 沙洋县| 齐齐哈尔市| 定边县| 莆田市| 昆山市| 江口县| 嵊泗县| 探索| 宁明县| 云阳县| 德安县|