Mysql作為一款開元的免費關係型資料庫,使用者基礎非常龐大,本文列出了MYSQL常用日期函數與日期轉換格式化函數,希望能幫助大家。
1、DAYOFWEEK(date)
SELECT DAYOFWEEK(‘2016-01-16') SELECT DAYOFWEEK(‘2016-01-16 00:00:00')
-> 7 (表示,记住:星期天=1,星期一=2, ... 星期六=7)
2、WEEKDAY (date)
SELECT WEEKDAY(‘2016-01-16') SELECT WEEKDAY(‘2016-01-16 00:00:00')
-> 5 (表示返回date是在一周中的序号,西方日历中通常一周的开始是星期天,并且以0开始计数,所以,记住:0=星期一,1=星期二, ... 5=星期六)
3、DAYOFMONTH(date)
SELECT DAYOFMONTH(‘2016-01-16') SELECT DAYOFMONTH(‘2016-01-16 00:00:00')
-> 16 (表示返回date是当月的第几天,1号就返回1,... ,31号就返回31)
#4、DAYOFYEAR(date)
SELECT DAYOFYEAR(‘2016-03-31') SELECT DAYOFYEAR(‘2016-03-31 00:00:00')
-> 91 (表示返回date是当年的第几天,01.01返回1,... ,12.31就返回365)
5、MONTH(date)
SELECT MONTH(‘2016-01-16') SELECT MONTH(‘2016-01-16 00:00:00')
-> 1 (表示返回date是当年的第几月,1月就返回1,... ,12月就返回12)
6、DAYNAME(date)
SELECT DAYNAME(‘2016-01-16') SELECT DAYNAME(‘2016-01-16 00:00:00')
-> Saturday (表示返回date是周几的英文全称名字)
7、MONTHNAME(date)
SELECT MONTHNAME(‘2016-01-16') SELECT MONTHNAME(‘2016-01-16 00:00:00')
-> January (表示返回date的是当年第几月的英文名字)
8、QUARTER(date)
SELECT QUARTER(‘2016-01-16') SELECT QUARTER(‘2016-01-16 00:00:00')
-> 1 (表示返回date的是当年的第几个季度,返回1,2,3,4)
9、WEEK(date,index)
SELECT WEEK(‘2016-01-03') SELECT WEEK(‘2016-01-03', 0) SELECT WEEK(‘2016-01-03', 1)
-> 1 (该函数返回date在一年当中的第几周,date(01.03)是周日,默认是以为周日作为一周的第一天,函数在此处返回1可以有两种理解:1、第一周返回0,第二周返回1,.... ,2、以当年的完整周开始计数,第一周返回1,第二周返回2,... ,最后一周返回53) -> 1 (week()默认index就是0. 所以结果同上) -> 0 (当index为1时,表示一周的第一天是周一,所以,4号周一才是第二周的开始日)
10、YEAR(date)
SELECT YEAR(‘70-01-16') SELECT YEAR(‘2070-01-16') SELECT YEAR(‘69-01-16 00:00:00')
-> 1970 (表示返回date的4位数年份) -> 2070 -> 1969
要注意的是:如果年份只有兩位數,那麼自動補全的機制是以預設時間1970.01.01為界限的,>= 70 的補全19,00bbb5bc5d686b1c1c6207365900a4d5 2
-> 2
mysql中常用的几种时间格式转换函数整理如下
1,from_unixtime(timestamp, format):
timestamp为int型时间,如14290450779;format为转换的格式,包含格式如下:
%M 月名(January…December)
%W 星期名字(Sunday…Saturday)
%D 有英文字首的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 數字, 4 位
%y 年, 數字, 2 位
%a 縮寫的星期名字(Sun…Sat)
%d 月份中的天數, 數字(00… …31)
%e 月份中的天數, 數字(0…31)
%m 月, 數字(01…12)
%c 月, 數字(1…12)
%b 縮寫的月份名字(Jan…Dec)
%j 一年中的天數(001…366)
%H 小時(00…23)
%k 小時(0… …23)
%h 小時(01……12)
%I 小時(01…12)
%l 小時(1…12)
%i 分鐘, 數字(00… …59)
%r 時間,12 小時(hh:mm:ss [AP]M)
%T 時間,24 小時(hh:mm:ss)
%S 秒(00…59 )
%s 秒(00…59)
%p AM或PM
%w 一週中的天數(0=Sunday …6=Saturday )
%U 一週(0… …52), 這裡星期日是星期的第一天
%u 星期(0…52), 這裡星期一是星期的第一
2,unix_timestamp(date):
作用與from_unixtime()剛好相反,前者是把unix時間戳轉換為可讀的時間,而unix_timestamp()是把可讀的時間轉換為unix時間戳,這在對datetime存儲的時間進行排序時會用到。如unix_timestamp('2009-08-06 10:10:40'),得到1249524739。
如果unix_timestamp()不傳參數,則呼叫now()函數會自動取目前時間。
3,date_format(date, format):
date_format()是將date或datetime類型值轉換為任意的時間格式。例如常見的應用程式場景,某表有一個欄位是更新時間,儲存的是datetime類型,但前台展示時只需要顯示年月日(xxxx-xx-xx),這個時候就可以用date_format(date,'% Y-%m-%d ')處理,而不需要在結果集中用程式循環處理。
相關推薦:
以上是MySQL日期函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!