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

MySQL生成日期維度表的sql語句

 更新時(shí)間:2024年07月03日 14:43:39   作者:ronshi  
這篇文章主要介紹了MySQL生成日期維度表的sql語句,通過存儲過程生成,其次是通過遞歸的公用表表達(dá)式生成,需要的朋友可以參考下

MySQL生成日期維度表

1、通過存儲過程生成

DELIMITER $$
CREATE PROCEDURE dateDim(startDate DATE, endDate DATE)  
BEGIN  
    DECLARE currentDate DATE;  
    SET currentDate = startDate;  
    WHILE currentDate <= endDate DO  
        INSERT INTO sys_calendar (stats_day) VALUES (currentDate);  
        SET currentDate = DATE_ADD(currentDate, INTERVAL 1 DAY);  
    END WHILE;  
END $$
DELIMITER ;  
CALL dateDim('2022-01-01', '2030-12-31');

2、通過遞歸的公用表表達(dá)式生成

WITH RECURSIVE date_series AS (  
  SELECT '2023-01-01' AS date_value  
  UNION ALL  
  SELECT DATE_ADD(date_value, INTERVAL 1 DAY)  
  FROM date_series  
  WHERE date_value < '2023-12-31'  
)  
INSERT INTO date_dim (date_value)  
SELECT date_value FROM date_series;

補(bǔ)充:Mysql 快速生成日期時(shí)間維度表

Mysql 快速生成日期時(shí)間維度表

創(chuàng)建表結(jié)構(gòu)

CREATE TABLE `dim_date` (
  `id` int(11) NOT NULL COMMENT '日期鍵 20000101',
  `date` date DEFAULT NULL COMMENT '日期 2000-01-01',
  `year` smallint(6) DEFAULT NULL COMMENT '年 2000',
  `month` smallint(6) DEFAULT NULL COMMENT '月 01',
  `day` smallint(6) DEFAULT NULL COMMENT '日 01',
  `quarter` smallint(6) DEFAULT NULL COMMENT '當(dāng)年所屬季度',
  `year_of_week` smallint(6) DEFAULT NULL COMMENT '當(dāng)前周所屬年份',
  `week` smallint(6) DEFAULT NULL COMMENT '當(dāng)年所屬周',
  `day_of_week` smallint(6) DEFAULT NULL COMMENT '星期幾',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

生產(chǎn)數(shù)據(jù)

SET @d0 = '2000-01-01';
SET @d1 = '2100-12-31';
SET @date = DATE_SUB( @d0, INTERVAL 1 DAY );
INSERT INTO `dim_date`(`date`, `id`,  `year`, `month`, `day`, `quarter`, `year_of_week`, `week`, `day_of_week`) 
SELECT
@date := DATE_ADD( @date, INTERVAL 1 DAY ) AS DATE,
DATE_FORMAT( @date, '%Y%m%d' ) AS id,
YEAR ( @date ) AS Y,
MONTH ( @date ) AS m,
DAY ( @date ) AS d,
QUARTER ( @date ) AS q,
DATE_FORMAT( @date, '%x' ) AS yw,
WEEK ( @date, 3 ) AS w,
WEEKDAY( @date ) + 1 AS wd
FROM
	[某張行數(shù)比日期差大的表]
WHERE
	DATE_ADD( @date, INTERVAL 1 DAY ) <= @d1 
ORDER BY
	DATE;

到此這篇關(guān)于MySQL生成日期維度表的文章就介紹到這了,更多相關(guān)MySQL日期維度表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQL實(shí)現(xiàn)LeetCode(184.系里最高薪水)

    SQL實(shí)現(xiàn)LeetCode(184.系里最高薪水)

    這篇文章主要介紹了SQL實(shí)現(xiàn)LeetCode(184.系里最高薪水),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SQL中JOIN操作的條件使用總結(jié)與實(shí)踐

    SQL中JOIN操作的條件使用總結(jié)與實(shí)踐

    在SQL查詢中,JOIN操作是多表關(guān)聯(lián)的核心工具,本文將從原理,場景和最佳實(shí)踐三個(gè)方面總結(jié)JOIN條件的使用規(guī)則,希望可以幫助開發(fā)者精準(zhǔn)控制查詢邏輯
    2025-06-06
  • MySQL里面的子查詢的基本使用

    MySQL里面的子查詢的基本使用

    本文主要介紹了MySQL里面的子查詢的基本使用,從定義到分類使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • mysql 8.0.17 解壓版安裝配置方法圖文教程

    mysql 8.0.17 解壓版安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.17 解壓版安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • MySQL的數(shù)據(jù)類型和建庫策略分析詳解

    MySQL的數(shù)據(jù)類型和建庫策略分析詳解

    無論是在小得可憐的免費(fèi)數(shù)據(jù)庫空間或是大型電子商務(wù)網(wǎng)站,合理的設(shè)計(jì)表結(jié)構(gòu)、充分利用空間是十分必要的。這就要求我們對數(shù)據(jù)庫系統(tǒng)的常用數(shù)據(jù)類型有充分的認(rèn)識。下面我就將我的一點(diǎn)心得寫出來跟大家分享。
    2008-04-04
  • mysql數(shù)據(jù)庫如何實(shí)現(xiàn)億級數(shù)據(jù)快速清理

    mysql數(shù)據(jù)庫如何實(shí)現(xiàn)億級數(shù)據(jù)快速清理

    這篇文章主要介紹了mysql數(shù)據(jù)庫實(shí)現(xiàn)億級數(shù)據(jù)快速清理的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2018-04-04
  • 最新評論

    乐平市| 凤台县| 上林县| 宝坻区| 永泰县| 龙南县| 乐清市| 安宁市| 宾阳县| 丹江口市| 修水县| 长兴县| 虎林市| 满城县| 大名县| 行唐县| 南澳县| 孝感市| 长岛县| 无极县| 互助| 桃园县| 馆陶县| 通渭县| 梅河口市| 阜南县| 根河市| 阜阳市| 敦化市| 榆树市| 陆河县| 余姚市| 蒙山县| 鸡东县| 屏山县| 眉山市| 山西省| 重庆市| 庆云县| 东乡| 石屏县|