pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    <legend id='jqhDQ'><style id='jqhDQ'><dir id='jqhDQ'><q id='jqhDQ'></q></dir></style></legend>

    <small id='jqhDQ'></small><noframes id='jqhDQ'>

    <i id='jqhDQ'><tr id='jqhDQ'><dt id='jqhDQ'><q id='jqhDQ'><span id='jqhDQ'><b id='jqhDQ'><form id='jqhDQ'><ins id='jqhDQ'></ins><ul id='jqhDQ'></ul><sub id='jqhDQ'></sub></form><legend id='jqhDQ'></legend><bdo id='jqhDQ'><pre id='jqhDQ'><center id='jqhDQ'></center></pre></bdo></b><th id='jqhDQ'></th></span></q></dt></tr></i><div class="pj57bzt" id='jqhDQ'><tfoot id='jqhDQ'></tfoot><dl id='jqhDQ'><fieldset id='jqhDQ'></fieldset></dl></div>
    • <bdo id='jqhDQ'></bdo><ul id='jqhDQ'></ul>

      <tfoot id='jqhDQ'></tfoot>

      獲取兩個日期之間的日期列表

      Get a list of dates between two dates(獲取兩個日期之間的日期列表)

          <bdo id='fyjEh'></bdo><ul id='fyjEh'></ul>
          <i id='fyjEh'><tr id='fyjEh'><dt id='fyjEh'><q id='fyjEh'><span id='fyjEh'><b id='fyjEh'><form id='fyjEh'><ins id='fyjEh'></ins><ul id='fyjEh'></ul><sub id='fyjEh'></sub></form><legend id='fyjEh'></legend><bdo id='fyjEh'><pre id='fyjEh'><center id='fyjEh'></center></pre></bdo></b><th id='fyjEh'></th></span></q></dt></tr></i><div class="xbfdr7v" id='fyjEh'><tfoot id='fyjEh'></tfoot><dl id='fyjEh'><fieldset id='fyjEh'></fieldset></dl></div>
            <tbody id='fyjEh'></tbody>
          <tfoot id='fyjEh'></tfoot>
            • <small id='fyjEh'></small><noframes id='fyjEh'>

              1. <legend id='fyjEh'><style id='fyjEh'><dir id='fyjEh'><q id='fyjEh'></q></dir></style></legend>
              2. 本文介紹了獲取兩個日期之間的日期列表的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                使用標準的 mysql 函數可以編寫一個查詢,該查詢將返回兩個日期之間的天數列表.

                Using standard mysql functions is there a way to write a query that will return a list of days between two dates.

                例如,給定 2009-01-01 和 2009-01-13,它將返回一個帶有值的單列表:

                eg given 2009-01-01 and 2009-01-13 it would return a one column table with the values:

                 2009-01-01 
                 2009-01-02 
                 2009-01-03
                 2009-01-04 
                 2009-01-05
                 2009-01-06
                 2009-01-07
                 2009-01-08 
                 2009-01-09
                 2009-01-10
                 2009-01-11
                 2009-01-12
                 2009-01-13
                

                看來我還不清楚.我想生成這個列表.我將值存儲在數據庫中(按日期時間),但希望它們在左外部連接上聚合到上述日期列表(我希望從某些連接的右側獲得空值幾天,并將處理此問題).

                It appears I have not been clear. I want to GENERATE this list. I have values stored in the database (by datetime) but want them to be aggregated on a left outer join to a list of dates as above (I am expecting null from the right side of some of this join for some days and will handle this).

                推薦答案

                我會使用這個存儲過程將您需要的間隔生成到名為 time_intervals 的臨時表中,然后加入并聚合您的數據表使用臨時 time_intervals 表.

                I would use this stored procedure to generate the intervals you need into the temp table named time_intervals, then JOIN and aggregate your data table with the temp time_intervals table.

                該過程可以生成您在其中指定的所有不同類型的間隔:

                The procedure can generate intervals of all the different types you see specified in it:

                call make_intervals('2009-01-01 00:00:00','2009-01-10 00:00:00',1,'DAY')
                .
                select * from time_intervals  
                .
                interval_start      interval_end        
                ------------------- ------------------- 
                2009-01-01 00:00:00 2009-01-01 23:59:59 
                2009-01-02 00:00:00 2009-01-02 23:59:59 
                2009-01-03 00:00:00 2009-01-03 23:59:59 
                2009-01-04 00:00:00 2009-01-04 23:59:59 
                2009-01-05 00:00:00 2009-01-05 23:59:59 
                2009-01-06 00:00:00 2009-01-06 23:59:59 
                2009-01-07 00:00:00 2009-01-07 23:59:59 
                2009-01-08 00:00:00 2009-01-08 23:59:59 
                2009-01-09 00:00:00 2009-01-09 23:59:59 
                .
                call make_intervals('2009-01-01 00:00:00','2009-01-01 02:00:00',10,'MINUTE')
                . 
                select * from time_intervals
                .  
                interval_start      interval_end        
                ------------------- ------------------- 
                2009-01-01 00:00:00 2009-01-01 00:09:59 
                2009-01-01 00:10:00 2009-01-01 00:19:59 
                2009-01-01 00:20:00 2009-01-01 00:29:59 
                2009-01-01 00:30:00 2009-01-01 00:39:59 
                2009-01-01 00:40:00 2009-01-01 00:49:59 
                2009-01-01 00:50:00 2009-01-01 00:59:59 
                2009-01-01 01:00:00 2009-01-01 01:09:59 
                2009-01-01 01:10:00 2009-01-01 01:19:59 
                2009-01-01 01:20:00 2009-01-01 01:29:59 
                2009-01-01 01:30:00 2009-01-01 01:39:59 
                2009-01-01 01:40:00 2009-01-01 01:49:59 
                2009-01-01 01:50:00 2009-01-01 01:59:59 
                .
                I specified an interval_start and interval_end so you can aggregate the 
                data timestamps with a "between interval_start and interval_end" type of JOIN.
                .
                Code for the proc:
                .
                -- drop procedure make_intervals
                .
                CREATE PROCEDURE make_intervals(startdate timestamp, enddate timestamp, intval integer, unitval varchar(10))
                BEGIN
                -- *************************************************************************
                -- Procedure: make_intervals()
                --    Author: Ron Savage
                --      Date: 02/03/2009
                --
                -- Description:
                -- This procedure creates a temporary table named time_intervals with the
                -- interval_start and interval_end fields specifed from the startdate and
                -- enddate arguments, at intervals of intval (unitval) size.
                -- *************************************************************************
                   declare thisDate timestamp;
                   declare nextDate timestamp;
                   set thisDate = startdate;
                
                   -- *************************************************************************
                   -- Drop / create the temp table
                   -- *************************************************************************
                   drop temporary table if exists time_intervals;
                   create temporary table if not exists time_intervals
                      (
                      interval_start timestamp,
                      interval_end timestamp
                      );
                
                   -- *************************************************************************
                   -- Loop through the startdate adding each intval interval until enddate
                   -- *************************************************************************
                   repeat
                      select
                         case unitval
                            when 'MICROSECOND' then timestampadd(MICROSECOND, intval, thisDate)
                            when 'SECOND'      then timestampadd(SECOND, intval, thisDate)
                            when 'MINUTE'      then timestampadd(MINUTE, intval, thisDate)
                            when 'HOUR'        then timestampadd(HOUR, intval, thisDate)
                            when 'DAY'         then timestampadd(DAY, intval, thisDate)
                            when 'WEEK'        then timestampadd(WEEK, intval, thisDate)
                            when 'MONTH'       then timestampadd(MONTH, intval, thisDate)
                            when 'QUARTER'     then timestampadd(QUARTER, intval, thisDate)
                            when 'YEAR'        then timestampadd(YEAR, intval, thisDate)
                         end into nextDate;
                
                      insert into time_intervals select thisDate, timestampadd(MICROSECOND, -1, nextDate);
                      set thisDate = nextDate;
                   until thisDate >= enddate
                   end repeat;
                
                 END;
                

                這篇文章,我在那里為 SQL Server 構建了一個類似的函數.

                Similar example data scenario at the bottom of this post, where I built a similar function for SQL Server.

                這篇關于獲取兩個日期之間的日期列表的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                How to use windowing functions efficiently to decide next N number of rows based on N number of previous values(如何有效地使用窗口函數根據 N 個先前值來決定接下來的 N 個行)
                reuse the result of a select expression in the quot;GROUP BYquot; clause?(在“GROUP BY中重用選擇表達式的結果;條款?)
                Does ignore option of Pyspark DataFrameWriter jdbc function ignore entire transaction or just offending rows?(Pyspark DataFrameWriter jdbc 函數的 ignore 選項是忽略整個事務還是只是有問題的行?) - IT屋-程序員軟件開發技
                Error while using INSERT INTO table ON DUPLICATE KEY, using a for loop array(使用 INSERT INTO table ON DUPLICATE KEY 時出錯,使用 for 循環數組)
                pyspark mysql jdbc load An error occurred while calling o23.load No suitable driver(pyspark mysql jdbc load 調用 o23.load 時發生錯誤 沒有合適的驅動程序)
                How to integrate Apache Spark with MySQL for reading database tables as a spark dataframe?(如何將 Apache Spark 與 MySQL 集成以將數據庫表作為 Spark 數據幀讀取?)

                    <bdo id='r3orP'></bdo><ul id='r3orP'></ul>
                      <tbody id='r3orP'></tbody>
                    <legend id='r3orP'><style id='r3orP'><dir id='r3orP'><q id='r3orP'></q></dir></style></legend>

                    <small id='r3orP'></small><noframes id='r3orP'>

                    • <i id='r3orP'><tr id='r3orP'><dt id='r3orP'><q id='r3orP'><span id='r3orP'><b id='r3orP'><form id='r3orP'><ins id='r3orP'></ins><ul id='r3orP'></ul><sub id='r3orP'></sub></form><legend id='r3orP'></legend><bdo id='r3orP'><pre id='r3orP'><center id='r3orP'></center></pre></bdo></b><th id='r3orP'></th></span></q></dt></tr></i><div class="rljrhxh" id='r3orP'><tfoot id='r3orP'></tfoot><dl id='r3orP'><fieldset id='r3orP'></fieldset></dl></div>
                      <tfoot id='r3orP'></tfoot>
                          主站蜘蛛池模板: 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 彩信群发_群发彩信软件_视频短信营销平台-达信通 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 电销卡_北京电销卡_包月电话卡-豪付网络 | 天坛家具官网| 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 智能气瓶柜(大型气瓶储存柜)百科 | 电主轴,车床电磨头,变频制动电机-博山鸿达特种电机 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 | 沈阳庭院景观设计_私家花园_别墅庭院设计_阳台楼顶花园设计施工公司-【沈阳现代时园艺景观工程有限公司】 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 塑胶跑道_学校塑胶跑道_塑胶球场_运动场材料厂家_中国塑胶跑道十大生产厂家_混合型塑胶跑道_透气型塑胶跑道-广东绿晨体育设施有限公司 | 路面机械厂家| 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 天命文免费算命堂_自助算命_自由算命系统_长文周易 | 北京燃气公司 用户服务中心 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 淄博不锈钢无缝管,淄博不锈钢管-鑫门物资有限公司 | 噪声治理公司-噪音治理专业隔音降噪公司 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 培训中心-翰香原香酥板栗饼加盟店总部-正宗板栗酥饼技术 | 贵州成人高考网_贵州成考网 | 办公室家具公司_办公家具品牌厂家_森拉堡办公家具【官网】 |