亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

數(shù)據(jù)庫Sql實(shí)現(xiàn)截取時(shí)間段和日期實(shí)例(SQL時(shí)間截取)

 更新時(shí)間:2023年05月29日 10:18:37   作者:拄杖盲學(xué)輕聲碼  
在許多情況下你也許只想得到日期和時(shí)間的一部分,而不是完整的日期和時(shí)間,下面這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)庫Sql實(shí)現(xiàn)截取時(shí)間段和日期(SQL時(shí)間截取)的相關(guān)資料,需要的朋友可以參考下

【寫在前面】

前些日子接到這樣的需求,我們要對(duì)用戶訪問網(wǎng)站的時(shí)間做個(gè)統(tǒng)計(jì),但是我想統(tǒng)計(jì)到具體的時(shí)間點(diǎn),便于統(tǒng)計(jì)不同時(shí)間段(上午、下午、傍晚、凌晨)訪問的人數(shù)占比。

1、原始數(shù)據(jù)查看

那么首先給大家看一下數(shù)據(jù)表的原始數(shù)據(jù):

select id,time,count from bf_visited_address;

由此可見這個(gè)時(shí)間字段是把日期和時(shí)分秒都揉在一起了,但是我只想通過時(shí)分秒來判斷不同時(shí)間段的訪問統(tǒng)計(jì),那么我們寫sql的時(shí)候需要稍加調(diào)整了。

2、 sql實(shí)現(xiàn)日期和時(shí)間點(diǎn)分離(基于MySQL)

核心方法是:DATE_FORMAT() 函數(shù),這個(gè)函數(shù)主要用于不同格式的時(shí)間/日期數(shù)據(jù)

使用語法:DATE_FORMAT(date,format)

date:表示您待處理的時(shí)間值,也就是你在數(shù)據(jù)庫表中展示的字段;

format:表示您要使用的格式,這個(gè)有專門約定的格式,具體的我?guī)_列一下,如下所示

常用的我放在最前面。

常用格式(年月日時(shí)分秒:%Y-%m-%D %H:%i:%s)

格式描述格式描述
%T時(shí)間, 24-小時(shí) (hh:mm:ss)%r時(shí)間,12-小時(shí)(hh:mm:ss AM 或 PM)
%Y年,4 位(2023)%y年,2 位(23)
%m月,數(shù)值(00-12)%c月,數(shù)值(1-12)
%d日,數(shù)值(00-31)%e日,數(shù)值(0-31)
%H小時(shí) (00-23)%h或%I小時(shí) (01-12)
%i分鐘,數(shù)值(00-59)%f微秒
%s秒(00-59)%S秒(00-59)

不常用格式(幾幾年第幾周:%X年 第%V周)

格式描述格式描述
%W星期名(Thursday)%w周的天 (0=星期日, 6=星期六)
%a縮寫星期名(Thu)
%M月名(December)%b縮寫月名(Dec)
%U周 (00-53) 星期日是一周的第一天%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,與 %X 使用%v周 (01-53) 星期一是一周的第一天,與 %x 使用
%X年,其中的星期日是周的第一天,4 位,與 %V 使用%x年,其中的星期一是周的第一天,4 位,與 %v 使用

3、SQL語句及應(yīng)用場(chǎng)景

A、獲取不同時(shí)間段的數(shù)據(jù)(%T和%H:%i:%s效果一樣)

先轉(zhuǎn)化成HH:mm:ss格式

select id,time,count, DATE_FORMAT(time,'%H:%i:%s') as 
detailTime from bf_visited_address;

添加時(shí)間過濾條件(過濾條件后面你可以隨便修改)

select * from (select id,time,count, DATE_FORMAT(time,'%T') 
as detailTime from bf_visited_address) tss 
where tss.detailTime>'00:00:00' and tss.detailTime<'09:00:00' 
ORDER BY tss.detailTime asc;

B、獲取日期,不包括時(shí)間點(diǎn)(%Y%m%d)

select id,time,count, DATE_FORMAT(time,'%Y-%m-%d') as 
detailTime from bf_visited_address;

C、獲取是幾幾年的第幾周(%X%V)

給一個(gè)時(shí)間點(diǎn),sql獲取哪一年的第幾周,此時(shí)將%X和%V做一個(gè)整合即可實(shí)現(xiàn),如下代碼及效果:

select bf_visited_address.*, DATE_FORMAT(time,'%X年第%V周') 
as detailTime from bf_visited_address;

補(bǔ)充:sql截取日期/時(shí)間的單獨(dú)部分,比如年、月、日、小時(shí)、分鐘等等

可以使用EXTRACT() 函數(shù)。(oracle和mysql都有該函數(shù))

語法:

EXTRACT(unit FROM date)

date 參數(shù)是合法的日期表達(dá)式。unit 參數(shù)可以是下列的值:

YEAR\MONTH\WEEK\DAY\HOUR\MINUTE\SECOND (這里只列出部分常用值)

上面依次代表:年、月、周、日、時(shí)、分、秒

示例:table 表id為1的數(shù)據(jù)有一個(gè)日期類型的字段 createDate 值為 2019-11-12 10:12:33

select
EXTRACT(YEAR FROM createDate) as createYear,
EXTRACT(MONTH FROM createDate) as createMonth,
EXTRACT(DAY FROM createDate) as createDay from table where id = 1

結(jié)果:

createYear -- 2019
createMonth -- 11
createDay  -- 12

總結(jié)

到此這篇關(guān)于數(shù)據(jù)庫Sql實(shí)現(xiàn)截取時(shí)間段和日期的文章就介紹到這了,更多相關(guān)Sql截取時(shí)間段和日期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解MySQL分區(qū)表

    詳解MySQL分區(qū)表

    這篇文章主要介紹了MySQL分區(qū)表的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)mysql,感興趣的朋友可以了解下
    2020-08-08
  • MySQL索引與事務(wù)定義到使用詳解

    MySQL索引與事務(wù)定義到使用詳解

    這篇文章主要介紹了MySQL數(shù)據(jù)庫索引事務(wù),索引是為了加速對(duì)表中數(shù)據(jù)行的檢索而創(chuàng)建的一種分散的存儲(chǔ)結(jié);事物是屬于計(jì)算機(jī)中一個(gè)很廣泛的概念,一般是指要做的或所做的事情,下面我們就一起進(jìn)入文章了解具體內(nèi)容吧
    2022-12-12
  • 解讀sql中timestamp和datetime之間的轉(zhuǎn)換

    解讀sql中timestamp和datetime之間的轉(zhuǎn)換

    這篇文章主要介紹了解讀sql中timestamp和datetime之間的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • MySQL字符編碼設(shè)置方法

    MySQL字符編碼設(shè)置方法

    這篇文章主要介紹了MySQL字符編碼設(shè)置方法的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • win10免安裝版本的MySQL安裝配置教程

    win10免安裝版本的MySQL安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了win10免安裝版本的MySQL的下載安裝和配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • CentOS系統(tǒng)下編譯安裝MySQL以及設(shè)置相關(guān)yum源的教程

    CentOS系統(tǒng)下編譯安裝MySQL以及設(shè)置相關(guān)yum源的教程

    這篇文章主要介紹了CentOS系統(tǒng)下編譯安裝MySQL以及設(shè)置相關(guān)yum源的教程,使用RedHat系的Linux系統(tǒng)為環(huán)境的都可以借鑒,需要的朋友可以參考下
    2015-12-12
  • MySQL: mysql is not running but lock exists 的解決方法

    MySQL: mysql is not running but lock exists 的解決方法

    下面可以參考下面的方法步驟解決。最后查到一個(gè)網(wǎng)友說可能和log文件有關(guān),于是將log文件給移除了,再重啟MySQL終于OK了
    2009-06-06
  • Linux手動(dòng)部署遠(yuǎn)程的mysql數(shù)據(jù)庫的方法詳解

    Linux手動(dòng)部署遠(yuǎn)程的mysql數(shù)據(jù)庫的方法詳解

    這篇文章主要介紹了Linux手動(dòng)部署遠(yuǎn)程的mysql數(shù)據(jù)庫的方法詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 一文帶你了解MySQL的左連接與右連接

    一文帶你了解MySQL的左連接與右連接

    在MySQL中,左查詢和右查詢是通過使用LEFT?JOIN和RIGHT?JOIN關(guān)鍵字來執(zhí)行的,本文通過詳細(xì)的代碼示例簡(jiǎn)單介紹這兩種查詢方法的語法,需要的朋友可以參考下
    2023-07-07
  • MySQL流程函數(shù)常見用法實(shí)例分析

    MySQL流程函數(shù)常見用法實(shí)例分析

    這篇文章主要介紹了MySQL流程函數(shù)常見用法,結(jié)合實(shí)例形式分析了mysql流程函數(shù)功能、常見使用方法與操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12

最新評(píng)論