1. SQL數(shù)據(jù)分析 - 時間序列

        共 1993字,需瀏覽 4分鐘

         ·

        2021-06-17 15:29

        時間序列數(shù)據(jù)是一種重要的結(jié)構(gòu)化數(shù)據(jù)形式,在多個時間點觀察或測量到的任何事物都可以形成一段時間序列。時間序列可以是固定頻率的,也可以是不定期的。

        時間序列數(shù)據(jù)的意義取決于具體的應(yīng)用場景,本節(jié)使用SQL語句,講解日期格式數(shù)據(jù)的應(yīng)用,包含返回當(dāng)前時間、時間偏移、時間作差內(nèi)容。

        本文使用工具:MySQL 8.0、Navicat Premium

        本文包含的內(nèi)容:返回當(dāng)前時間、時間偏移、時間作差

        適用范圍:使用SQL語句處理日期類型數(shù)據(jù)



        一、返回當(dāng)前時間

        在SQL中,返回當(dāng)前時間與EXCEL中有很多相似之處,比如返回年月日,當(dāng)前周,當(dāng)前是星期幾,只要類比學(xué)習(xí)即可,select在此處用于執(zhí)行運算,as后面跟一個別名。

        1.1 返回當(dāng)前的年月日

        select current_date()
        使Navicat Premium 12數(shù)據(jù)庫管理工具連接MySQL,新建查詢,在查詢區(qū)域SQL語句進行數(shù)據(jù)查詢。

        1.2 返回當(dāng)前的時間(到秒)

        select current_timestamp as '當(dāng)前時間';

        1.3 返回日期中的年月日

        SELECT date_format(current_timestamp,'%Y-%m-%d') as '日期';

        這里使用date_format設(shè)置自定義格式,'%Y-%m-%d'用來返回年月日。

        1.4 返回日期中的年(year)

        select year('2021-06-14 20:36:04') as year;

        1.5 返回日期中的月(month)

        select month('2021-06-14 20:36:04') as month;


        1.6 返回日期中的日(day)

        select day('2021-06-14 20:36:04') as day;

        1.7 返回日期中的時(hour)

        select hour('2021-06-14 20:36:04') as hour;

        1.8 返回日期中的分(minute)

        select minute('2021-06-14 20:36:04') as minute;

        1.9 返回日期中的秒(second)

        select second('2021-06-14 20:36:04') as second;

        二、時間偏移

        2.1 返回開始月份增加month后的日期

        SELECT PERIOD_ADD(202106,3) as '增加月';

        月份的偏移使用PERIOD_ADD函數(shù),后面綴加偏移的月數(shù)即可。

        2.2 返回開始月份減少month后的日期

        SELECT PERIOD_ADD(202106,-3) as '減少月';


        2.3 返回開始日期增加days天后的日期

        select ADDDATE('2021-06-14',7) as '增加7天';

        天數(shù)的偏移使用ADDDATE函數(shù),后面綴加偏移的天數(shù)即可。

        2.4 返回開始日期減去days后的日期

        select ADDDATE('2021-06-14',-7) as '減少7天';

        2.5 返回當(dāng)月第1天

        select DATE_ADD(curdate(),interval -day(curdate())+1 day) as '本月第一天';

        2.6 返回當(dāng)年的第一天

        select DATE_SUB(curdate(),interval dayofyear(now())-1 day) as '當(dāng)年第一天';

        2.7 返回日期在當(dāng)前的周數(shù)

        select WEEKOFYEAR('2021-06-14') as '當(dāng)前周'

        返回當(dāng)前周用WEEKOFYEAR函數(shù)。

        2.8 返回日期在當(dāng)前的星期數(shù)

        SELECT WEEKDAY("2021-06-14") as '星期';

        返回當(dāng)前是星期幾用WEEKDAY函數(shù),如果返回結(jié)果為0 表示當(dāng)前是星期一,返回結(jié)果為1 表示當(dāng)前是星期二。

        三、時間作差

        3.1 返回結(jié)束日期減去開始日期的天數(shù)

        select datediff('2021-06-14','2021-01-01') as '間隔天數(shù)';

        返回結(jié)束日期減去開始日期的結(jié)果,這里使用datediff函數(shù),與在EXCEL中的用法一致,結(jié)束日期放前面。

        select unix_timestamp('2021-06-14 21:52:12')-unix_timestamp('2021-06-14 20:33:33') as '間隔時間';

        返回時間戳的間隔使用到unix_timestamp函數(shù),作差即可。

        點分享
        點收藏
        點點贊
        點在看
        瀏覽 137
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 天天操天天射天天插 | 国产又猛又粗又黄又爽 | 91大神在线看 | 国产精品久久久久久久久动漫 | 老人性生交大片免费看 |