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

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

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

【寫在前面】

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

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

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

select id,time,count from bf_visited_address;

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

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

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

使用語法:DATE_FORMAT(date,format)

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

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

常用的我放在最前面。

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

格式描述格式描述
%T時間, 24-小時 (hh:mm:ss)%r時間,12-小時(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小時 (00-23)%h或%I小時 (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)用場景

A、獲取不同時間段的數(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;

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

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、獲取日期,不包括時間點(diǎn)(%Y%m%d)

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

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

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

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

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

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

語法:

EXTRACT(unit FROM date)

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

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

上面依次代表:年、月、周、日、時、分、秒

示例:table 表id為1的數(shù)據(jù)有一個日期類型的字段 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)截取時間段和日期的文章就介紹到這了,更多相關(guān)Sql截取時間段和日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • php連接不上mysql但mysql命令行操作正常的解決方法

    php連接不上mysql但mysql命令行操作正常的解決方法

    這篇文章主要介紹了php連接不上mysql但mysql命令行操作正常的解決方法,需要的朋友可以參考下
    2014-04-04
  • MySQL學(xué)習(xí)之事務(wù)詳解

    MySQL學(xué)習(xí)之事務(wù)詳解

    在數(shù)據(jù)庫中?事務(wù)(transaction)?可以把多個SQL給打包到一起,?即將多個SQL語句變成一個整體,?也就是說一個事務(wù)中的所有操作要么全部成功執(zhí)行,?要么完全不執(zhí)行.本文主要來和大家聊聊事務(wù)的使用,需要的可以參考一下
    2022-12-12
  • Linux中MySQL 雙主復(fù)制的配置指南

    Linux中MySQL 雙主復(fù)制的配置指南

    在數(shù)據(jù)驅(qū)動的時代,數(shù)據(jù)庫的高可用性和數(shù)據(jù)一致性是每個企業(yè)必須考慮的重要問題,MySQL 雙主復(fù)制提供了一種有效的解決方案,通過配置兩臺服務(wù)器互為主從,保證數(shù)據(jù)的實(shí)時同步和高可用性
    2024-07-07
  • Slave memory leak and trigger oom-killer

    Slave memory leak and trigger oom-killer

    這篇文章主要介紹了Slave memory leak and trigger oom-killer,需要的朋友可以參考下
    2016-07-07
  • MySQL 加密/壓縮函數(shù)

    MySQL 加密/壓縮函數(shù)

    在MySQL中,加密和壓縮函數(shù)返回二進(jìn)制串。對其中的許多函數(shù)而言,結(jié)果可能包含任意的字節(jié)值,如果想存儲這些結(jié)果,你應(yīng)該使用一個具有varbinary或者blob二進(jìn)制串?dāng)?shù)據(jù)類型的列,這可避免潛在的刪除尾部空白問題或者字符集轉(zhuǎn)換問題。
    2009-12-12
  • MySQL多實(shí)例管理如何在一臺主機(jī)上運(yùn)行多個mysql

    MySQL多實(shí)例管理如何在一臺主機(jī)上運(yùn)行多個mysql

    文章詳解了在Linux主機(jī)上通過二進(jìn)制方式安裝MySQL多實(shí)例的步驟,涵蓋端口配置、數(shù)據(jù)目錄準(zhǔn)備、初始化與啟動流程,以及排錯方法,適用于構(gòu)建讀寫分離架構(gòu),感興趣的朋友一起看看吧
    2025-07-07
  • win10下mysql 8.0.11壓縮版安裝詳細(xì)教程

    win10下mysql 8.0.11壓縮版安裝詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了win10下mysql 8.0.11壓縮版安裝詳細(xì)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • MySQL查詢和篩選存儲的JSON數(shù)據(jù)的操作方法

    MySQL查詢和篩選存儲的JSON數(shù)據(jù)的操作方法

    MySQL是常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),為了支持非結(jié)構(gòu)化數(shù)據(jù)的存儲和查詢,MySQL引入了對JSON數(shù)據(jù)類型的支持,JSON是一種輕量級的數(shù)據(jù)交換格式,在現(xiàn)代應(yīng)用程序中得到了廣泛應(yīng)用,處理和存儲非結(jié)構(gòu)化數(shù)據(jù)變得越來越重要,本文給大家介紹mysql查詢JSON數(shù)據(jù)的相關(guān)知識,一起看看吧
    2024-01-01
  • MySql insert插入操作的3個小技巧分享

    MySql insert插入操作的3個小技巧分享

    這篇文章主要介紹了MySql insert插入操作的3個小技巧分享,本文講解了插入的數(shù)據(jù)來源自其他表、插入時排除(忽略)重復(fù)記錄、插入時遇到重復(fù)記錄做更新操作三個小技巧,需要的朋友可以參考下
    2015-03-03
  • 詳解Mysql自動備份與恢復(fù)的幾種方法(圖文教程)

    詳解Mysql自動備份與恢復(fù)的幾種方法(圖文教程)

    本篇文章主要介紹了Mysql 自動備份與恢復(fù),主要有三種方法,有需要的可以了解一下。
    2016-11-11

最新評論

广德县| 比如县| 扬州市| 岳阳市| 出国| 四平市| 安溪县| 丰宁| 北川| 镇宁| 横山县| 新竹县| 尖扎县| 镇远县| 晋宁县| 渝中区| 桐乡市| 宁强县| 册亨县| 怀远县| 霍林郭勒市| 遵义市| 云安县| 光泽县| 道真| 仪陇县| 古田县| 塔河县| 永善县| 于都县| 泽普县| 榕江县| 牡丹江市| 金门县| 永川市| 宁国市| 旬邑县| 桂平市| 安新县| 仙居县| 南华县|