mysql 常用的日期函式

2021-09-13 01:45:53 字數 2407 閱讀 9888

在做統計時避免不了計算時間,今天小菜簡單分享點mysql中常用的計算時間的函式,自己會寫點簡單的例子,如果有什麼問題歡迎指出。

*提取時間中的各個部分

1、提取日期部分

date(expr)
2、提取時間部分

time(expr)
3、提取指定值(如:時、分、秒、年、月、日)

方法一extract(unit from date)

方法二

-- 返回 date中的年值

year(date)

-- 返回 date中的月值

month(date)

-- 返回 date中的日值

day(date)

-- 返回 time 中的小時值

hour(time)

-- 返回 time 中的分值

minute(time)

-- 返回 time 中的秒值

second(time)

4、例子

select

m.start_time as 日期時間,

date(m.start_time) as 提取日期部分,

extract(year from m.start_time) as 提取年,

year (m.start_time) as 年,

extract(month from m.start_time) as 提取月,

month (m.start_time) as 月,

extract(week from m.start_time) as 提取周,

weekday(m.start_time) as 周,

extract(day from m.start_time) as 提取日,

day (m.start_time) as 日,

time(m.start_time) as 提取時間部分,

extract(hour from m.start_time) as 提取時,

hour (m.start_time) as 時,

extract(minute from m.start_time) as 提取分,

minute (m.start_time) as 分,

extract(second from m.start_time) as 提取秒,

second (m.start_time) as 秒

*計算兩個時間的差值

1、方法

-- unit是計算單位(可取的值:second, minute, hour, day, week, month, quarter, year等),datetime_expr1是小的時間值,datetime_expr2是大的時間值,

timestampdiff(unit,datetime_expr1,datetime_expr2)

2、例子

select

timestampdiff(hour,m.start_time,m.end_time) as 時長,

timestampdiff(minute,m.start_time,m.end_time) as 分長,

timestampdiff(second,m.start_time,m.end_time) as 秒長

*當天的訪問量

1、方法

to_days(date)=to_days(now())
2、例子

select

date(l.login_time) as 當天日期,

count(l.sy) as 每日訪問數

mysql 日期常用函式

mysql 中最重要的內建日期函式 函式描述 now 返回當前的日期和時間 curdate 返回當前的日期 curtime 返回當前的時間 date 提取日期或日期 時間表示式的日期部分 extract 返回日期 時間按的單獨部分 date add 給日期新增指定的時間間隔 date sub 從日期...

MySQL 中的常用日期函式

mysql 中的常用日期函式 函式描述 now 返回當前的日期和時間 curdate 返回當前的日期 curtime 返回當前的時間 date 提取日期或日期 時間表示式的日期部分 extract 返回日期 時間按的單獨部分 date add 給日期新增指定的時間間隔 date sub 從日期減去指...

MySql常用日期函式案例

會員表,t member id 主鍵,redtime 註冊日期,curdate 獲取當前的日期 檢視今天新增會員數 select count from t member where regtime curdate weekday 獲取當前日期為當前周的第幾天 0 星期一,6 星期天 subdate ...