mysql 經常使用的時間日期函數小結

本文主要是總結一些經常使用的在實際運用中經常使用的一些mysql時間日期以及轉換的函數mysql

1.now()  :返回當前日期和時間sql

select now();
//2018-04-21 09:19:21

 

2.curdate()   :返回當前日期express

select curdate();
//2018-04-21 

 

3. dayofweek(data) : 返回日期 data 是星期幾函數

(1 = 星期日,2 =星期一...7=星期六,ODBC標準)spa

select dayofweek(‘2018-02-13’); 
// 3

 

4.weekday(date) : 返回日期 data 是星期幾unix

(0 = 星期日,1 =星期一...6=星期六,ODBC標準)code

select WEEKDAY('1997-10-04 22:23:00');
//5

 

5.dayofmonth(date) :返回date是一個月中的第幾天(1-31 範圍)orm

select dayofmonth('2018-04-21');
//21

 

6.dayofyear(date) : 返回date是一年中的第幾天(1-366 範圍)blog

select dayofyear('2018-01-01');
//1

 

7.month(date):返回date 中的月份值字符串

select month('2018-04-21');
//4

 

8.dayname(date):返回date 是星期幾(英文名返回)

select dayname('1998-02-05');
//Thursday

 

9.monthname(date):返回date 是幾月(英文返回)

select monthname('2018-02-01')
//February

 

10.quarter(date):返回date 是一年的第幾季度

select quarter('2018-04-21');
//2

 

11.week(date,first):返回date 是一年的第幾周

(參數first:0表示週日是周的開始,1表示週一是周的開始,默認0)

select week('2018-02-20'); // 7

select week('2018-02-20',0); //7

select week('2018-02-20',1); //8

 

12.year(date) : 返回date 中的年份(範圍1000-9999)

select year('98-02-03');
//1998

 

13.hour(time): 返回time 中的小時數(0-23)

select hour('10:02:03');
//10

 

14.minute(time) : 返回time 中的分鐘數(0-59)

select minute('10:20:59')
//20

 

15.second(time) : 返回time 中的秒數(0-59)

select second('10:20:59')
//59

 

16.datediff(date_expression_1,date_expression_2)  :返回兩個日期之間的相差天數

select datediff('2018-04-20','2018-04-01');
//19

 

17.  date_add(date,interval expr type);
  data_sub(data,interval expr type);

說明:對日期時間進行加減運算
參數一:date: 是一個datetime 或者是date值
參數二:expr 添加的值,type 添加值的格式(年月日時分秒)

1)添加年份 (year): select date_add(" 2018-04-22",interval 1 year); //res: 2019-04-22

(2) 添加月數(month):select date_add(" 2018-04-22",interval 1 month); //res: 2018-05-22

(3) 添加天數(day):select date_add(" 2018-04-22",interval 1 day); //res: 2018-04-23

(4) 添加小時(hour):select date_add(" 2018-04-22 10:08:38 ",interval 1 hour); //res: 2018-04-22 10:09:38

(5) 添加分鐘(minute):select date_add(" 2018-04-22 10:08:38 ",interval 1 minute); //res: 2018-04-22 10:09:38

(6) 添加秒數(second):select date_add(" 2018-04-22 10:08:38 ",interval 1 second); //res: 2018-04-22 10:09:39

(7) 添加年月(year_month):select date_add(" 2018-04-22",interval '1-1' year_month); //res: 2019-05-22

(8) 添加天數 小時(day_hour):select date_add(" 2018-04-22 10:08:38",interval '1 1' day_hour); //res: 2018-04-23 11:08:38

(9) 添加小時 分鐘(hour_minute):select date_add(" 2018-04-22 10:08:38",interval '1:1' hour_minute); //res: 2018-04-22 11:09:38 

(10) 添加天, 小時, 分鐘, 秒(day_second):select date_add(" 2018-04-22 10:08:38",interval '1 1:1:1' day_second); //res: 2018-04-23 11:09:39

 

18.data_format(date,format) :格式化一個有效的日期時間值

說明:參數二:format:是由預約義的說明符(限定符)組成的格式字符串

select date_format('2018-08-20 10:08:38',"%Y-%m-%d");
//2018-08-20

 

19.unix_tiemstamp(date) :返回一個unix 時間戳

說明:(從‘19970-01-01 00:00:00’開始的秒數),date 默認當前時間(省略)

1select unix_timestamp();//res : 1524279977
(2) select unix_timestamp('1970-01-01 00:00:00'); //res: 0

 

20.from_unixtime(unix_timestamp,format) : 將一個秒數的時間戳格式日期時間

說明:參數一:秒數的時間戳,參數二:指定格式,默認(年-月-日 時:分:秒) ‘%Y-%m-%d %h:%m:%s’

(1) select from_unixtime(1524280438); res://2018-04-21 11:04:58
(2) select from_unixtime(1524280438,"%Y-%m-%d"); res://2018-04-21

 

完結。。。 謝謝

相關文章
相關標籤/搜索