Mysql常用的時間日期函式

2021-10-03 18:26:29 字數 3494 閱讀 4668

目 錄

0 前言

1 獲取當前時刻的時間函式

1.1 返回當前時刻的時間

1.2  獲取當前時刻的年月日

1.3 獲取當前時刻的時分秒

1.4 獲取當前時刻的所在的週數

1.5 獲取當前是一周內的週幾

1.6 extract函式返回當前日期中所在的年、月、日等

2 日期之間的時間運算

2.1 計算當前時間的向後偏移時間

2.2 計算當前時間的向前偏移時間

2.3 兩日期做差

3 日期格式轉換   

時間日期函式在資料庫查詢中被頻繁使用,不同的資料庫之間差別不是很大,掌握時間日期函式對我們處理業務具有重要意義,本文針對mysql資料庫經常出現的時間日期函式進行總結,方便讀者在日後使用中進行查閱。

或者採用下面的方式:

(1)獲取年

(2)獲取月份

(3)獲取當前日期中的日

(1)獲取當前時刻的小時時間    

(2) 獲取分鐘

(3)獲取秒

一般全年有52周(365天/7),有時候也可能是53周,如果我們想看下當前時刻是全年中的第幾周,可以使用weekofyear()函式

select weekofyear(now())
如過要獲取當天是一周內的週幾要使用dayofweek()函式,注意該函式將星期天作為每週的周一,所以與我們平時的時間稍有差別

select dayofweek(now())
具體用法如下:

extract(unit from datetime)
(1)datetime表示具體的時間日期,

(2)unit表示要從datetime中返回的單獨的部分。unit值是指定的引數值:year,month,day,hour,minute,second,week等

select now()

select

extract(year from now()) as year

,extract(month from now()) as month

,extract(day from now()) as day

採用date_add函式

date_add(date,interval num unit)
date表示使用者傳入的當前時間,interval是乙個固定的引數,num為使用者傳入的間隔數,unit表示使用者需要偏移的單位,如往後移動7天,7月,7年,7時,7分,7秒等。例如:

select 

"2020-03-11" as cur_time

,date_add("2020-03-11",interval 7 day) as after_7_day

,date_add("2020-03-11",interval 7 month) as after_7_month

,date_add("2020-03-11",interval 7 year) as after_7_year

如獲取今天之前的若干天的時間。採用date_sub()函式。date_sub()函式與date_add函式使用方法是一樣的。

select 

"2020-03-11" as cur_time

,date_sub("2020-03-11",interval 7 day) as before_7_day

,date_sub("2020-03-11",interval 7 month) as before_7_month

,date_sub("2020-03-11",interval 7 year) as before_7_year

datediff(end_date,start_date)
例如:

select datediff("2020-03-11","2020-03-01")
sql中我們常常利用date_format()函式對日期進行格式化,date_format()函式的格式如下:

date_format(datetime,format)
(1)%y-%m-%d:年-月-日

select date_format(now(),"%y-%m-%d")
(2) %h:%i:%s:時:分:秒

select date_format(now(),"%h:%i:%s")

mysql 常用的時間日期函式小結

本文主要是總結一些常用的在實際運用中常用的一些mysql時間日期以及轉換的函式 1.now 返回當前日期和時間 select now 2018 04 21 09 19 21 2.curdate 返回當前日期 select curdate 2018 04 21 3.dayofweek data 返回日...

mysql時間日期函式

now current timestamp 當前日期時間 current date 當前日期 current time 當前時間 date yyyy mm dd hh ii ss 獲取日期部分 time yyyy mm dd hh ii ss 獲取時間部分 date format yyyy mm d...

mysql時間日期函式

now current timestamp 當前日期時間 current date 當前日期 current time 當前時間 date yyyy mm dd hh ii ss 獲取日期部分 time yyyy mm dd hh ii ss 獲取時間部分 date format yyyy mm d...