Mysql日期函式

2021-09-12 09:19:07 字數 2521 閱讀 5218

例如:2019.3.11為星期一

select  dayofweek ('2019.3.11') 返回「2」;

select  weekday ('2019.3.11') 返回「0」;

select  dayofmonth ('2019.3.11') 返回「11」;

select  dayofyear ('2019.3.11') 返回「70」;

select  month ('2019.3.11') 返回「3」;

select  dayname ('2019.3.11') 返回「monday」;

select  monthname ('2019.3.11') 返回「march」;

select  quarter ('2019.3.11') 返回「1」;

select  year ('2019.3.11') 返回「2019」;

select to_days(now()) - to_days('20190308') 返回「3」;

select datediff(now(),'20190308') 返回「3」;

計算兩日期時間之間相差的天數,秒數,分鐘數,週數,小時數,這裡主要分享的是通過mysql內建的函式 timestampdiff() 實現。

函式 timestampdiff() 是mysql本身提供的可以計算兩個時間間隔的函式,語法為:timestampdiff(unit,datetime_expr1,datetime_expr2)

返回日期或日期時間表示式datetime_expr1 和datetime_expr2the 之間的整數差。其中unit單位有如下幾種,分別是:frac_second (microseconds), second, minute, hour, day, week, month, quarter, year 。該引數具體釋義如下:

frac_second   表示間隔是毫秒

second   秒

minute   分鐘

hour   小時

day   天

week   星期

month   月

quarter   季度

year   年

例如:select timestampdiff(week,'2019-03-04','2019-03-30') 返回「-3」;

從date或datetime值中減去時間值(或間隔)。 下面說明了date_sub()函式的語法:date_sub(start_date,interval expr unit);

sqldate_sub()函式接受兩個引數:start_date是date或datetime的起始值。expr是乙個字串,用於確定從起始日期減去的間隔值。unit是expr可解析的間隔單位,例如day,hour等

例如:select date_sub('2019-03-04',interval 1 week) 返回「2019-02-25」;

1,查詢當天(今天)的資料

select * from `order` where to_days(order_time) = to_days(now())

2,查詢昨天的資料

select * from `order` where to_days(now()) - to_days(order_time) = 1

3,查詢最近7天的資料(包括今天一共7天)

select * from `order` where date_sub(curdate(), interval 7 day) < date(order_time)

4,查詢最近30天的資料(包括今天一共30天)

select * from `order` where date_sub(curdate(), interval 30 day) < date(order_time)

5,查詢當月(本月)的資料

select * from `order` where date_format(order_time, '%y%m') = date_format(curdate(), '%y%m')

6,查詢上個月的資料

select * from `order` where period_diff(date_format(now(),'%y%m'), date_format(order_time,'%y%m')) =1

7,查詢本季度的資料

select * from `order` where quarter(order_time)=quarter(now())

8,查詢上季度的資料

select * from `order` where quarter(order_time)=quarter(date_sub(now(),interval 1 quarter))

9,查詢當年(今年)的資料

select * from `order` where year(order_time)=year(now())

10,查詢去年的資料

select

* from

`order`

where

year(order_time)=year(date_sub(now(),interval 1 year))

mysql日期函式彙總 mysql日期函式彙總

一 當前時間獲取 1.now 獲得當前日期 時間 2.sysdate 獲得當前日期 時間 3.current timestamp,current timestamp 獲得當前時間戳 二 日期轉換函式 時間轉換函式 1.date format date,format time format time,...

mysql日期函式轉換 Mysql日期函式大全 轉

date add date,interval expr type date sub date,interval expr type adddate date,interval expr type subdate date,interval expr type 對日期時間進行加減法運算 adddate...

mysql日期函 MySQL 日期函式

mysql 日期函式 1,mysql dayofweek 和 weekday 獲取星期 在 mysql 中,我們可以用 dayofweek 和 weekday 函式獲取指定日期的星期.區別在於 dayofweek 獲取的星期索引是以 1 開始,而 weekday 獲取的星期索引是以 0 開始.day...