《Mysql入門mysql 時間轉換函數的使用方法第1/2頁》要點:
本文介紹了Mysql入門mysql 時間轉換函數的使用方法第1/2頁,希望對您有用。如果有疑問,可以聯系我們。
MYSQL教程mysql?時間轉換函數的用法
MYSQL教程DAYOFWEEK(date)??
返回日期date的星期索引(1=星期天,2=星期一,?……7=星期六).這些索引值對應于ODBC標準.??
mysql>?select?DAYOFWEEK(2007-10-31);??
->?4
WEEKDAY(date)??
返回date的星期索引(0=星期一,1=星期二,?……6=?星期天).??
mysql>?select?WEEKDAY('2007-10-31?13:05:00');??
->?2
mysql>?select?WEEKDAY('2007-10-31');
->?2??
DAYOFMONTH(date)??
返回date的月份中日期,在1到31范圍內.??
mysql>?select?DAYOFMONTH('2007-10-31');??
->?31
DAYOFYEAR(date)??
返回date在一年中的日數,?在1到366范圍內.??
mysql>?select?DAYOFYEAR('2007-10-31');??
->?304??
MONTH(date)??
返回date的月份,范圍1到12.??
mysql>?select?MONTH('2007-10-31');??
->?10
DAYNAME(date)??
返回date的星期名字.??
mysql>?select?DAYNAME("2007-10-31");??
->?'Wednesday'??
MONTHNAME(date)??
返回date的月份名字.??
mysql>?select?MONTHNAME("2007-10-31");??
->?'October'??
QUARTER(date)?
返回date一年中的季度,范圍1到4.??
mysql>?select?QUARTER('2007-10-31');??
->?4??
WEEK(date)??
??
WEEK(date,first)??
對于星期天是一周的第一天的地方,有一個單個參數,返回date的周數,范圍在0到52.2個參數形式WEEK()允許你指定星期是否開始于星期天或星期一.如果第二個參數是0,星期從星期天開始,如果第二個參數是1,從星期一開始.??
mysql>?select?WEEK('1998-02-20');??
->?7??
mysql>?select?WEEK('1998-02-20',0);??
->?7??
mysql>?select?WEEK('1998-02-20',1);??
->?8??
YEAR(date)??
返回date的年份,范圍在1000到9999.??
mysql>?select?YEAR('98-02-03');??
->?1998??
HOUR(time)??
返回time的小時,范圍是0到23.??
mysql>?select?HOUR('10:05:03');??
->?10??
MINUTE(time)??
返回time的分鐘,范圍是0到59.??
mysql>?select?MINUTE('98-02-03?10:05:03');??
->?5??
SECOND(time)??
回來time的秒數,范圍是0到59.??
mysql>?select?SECOND('10:05:03');??
->?3??
PERIOD_ADD(P,N)??
增加N個月到階段P(以格式YYMM或YYYYMM).以格式YYYYMM返回值.注意階段參數P不是日期值.??
mysql>?select?PERIOD_ADD(9801,2);??
->?199803??
PERIOD_DIFF(P1,P2)??
返回在時期P1和P2之間月數,P1和P2應該以格式YYMM或YYYYMM.注意,時期參數P1和P2不是日期值.??
mysql>?select?PERIOD_DIFF(9802,199703);??
->?11??
DATE_ADD(date,INTERVAL?expr?type)??
??
DATE_SUB(date,INTERVAL?expr?type)??
??
ADDDATE(date,INTERVAL?expr?type)??
??
SUBDATE(date,INTERVAL?expr?type)??
這些功能執行日期運算.對于MySQL?3.22,他們是新的.ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同義詞.?
在MySQL?3.23中,你可以使用+和-而不是DATE_ADD()和DATE_SUB().(見例子)date是一個指定開始日期的?
DATETIME或DATE值,expr是指定加到開始日期或從開始日期減去的間隔值一個表達式,expr是一個字符串;它可以以?
一個“-”開始表示負間隔.type是一個關鍵詞,指明表達式應該如何被解釋.EXTRACT(type?FROM?date)函數從日期?
中返回“type”間隔.下表顯示了type和expr參數怎樣被關聯:?type值?含義?期望的expr格式??
SECOND?秒?SECONDS??
MINUTE?分鐘?MINUTES??
HOUR?時間?HOURS??
DAY?天?DAYS??
MONTH?月?MONTHS??
YEAR?年?YEARS??
MINUTE_SECOND?分鐘和秒?"MINUTES:SECONDS"??
HOUR_MINUTE?小時和分鐘?"HOURS:MINUTES"??
DAY_HOUR?天和小時?"DAYS?HOURS"??
YEAR_MONTH?年和月?"YEARS-MONTHS"??
HOUR_SECOND?小時,?分鐘,?"HOURS:MINUTES:SECONDS"??
DAY_MINUTE?天,?小時,?分鐘?"DAYS?HOURS:MINUTES"??
DAY_SECOND?天,?小時,?分鐘,?秒?"DAYS?HOURS:MINUTES:SECONDS"??
MySQL在expr格式中允許任何標點分隔符.表示顯示的是建議的分隔符.如果date參數是一個DATE值并且你的計算僅僅包括YEAR、MONTH和DAY部分(即,沒有時間部分),結果是一個DATE值.否則結果是一個DATETIME值.??
mysql>?SELECT?"1997-12-31?23:59:59"?+?INTERVAL?1?SECOND;??
->?1998-01-01?00:00:00??
mysql>?SELECT?INTERVAL?1?DAY?+?"1997-12-31";??
->?1998-01-01??
mysql>?SELECT?"1998-01-01"?-?INTERVAL?1?SECOND;??
->?1997-12-31?23:59:59??
mysql>?SELECT?DATE_ADD("1997-12-31?23:59:59",??
INTERVAL?1?SECOND);??
->?1998-01-01?00:00:00??
mysql>?SELECT?DATE_ADD("1997-12-31?23:59:59",??
INTERVAL?1?DAY);??
->?1998-01-01?23:59:59??
mysql>?SELECT?DATE_ADD("1997-12-31?23:59:59",??
INTERVAL?"1:1"?MINUTE_SECOND);??
->?1998-01-01?00:01:00??
mysql>?SELECT?DATE_SUB("1998-01-01?00:00:00",??
INTERVAL?"1?1:1:1"?DAY_SECOND);??
->?1997-12-30?22:58:59??
mysql>?SELECT?DATE_ADD("1998-01-01?00:00:00",??
INTERVAL?"-1?10"?DAY_HOUR);??
->?1997-12-30?14:00:00??
mysql>?SELECT?DATE_SUB("1998-01-02",?INTERVAL?31?DAY);??
->?1997-12-02??
mysql>?SELECT?EXTRACT(YEAR?FROM?"1999-07-02");??
->?1999??
mysql>?SELECT?EXTRACT(YEAR_MONTH?FROM?"1999-07-02?01:02:03");??
->?199907??
mysql>?SELECT?EXTRACT(DAY_MINUTE?FROM?"1999-07-02?01:02:03");??
->?20102??
如果你指定太短的間隔值(不包括type關鍵詞期望的間隔部分),MySQL假設你省掉了間隔值的最左面部分.例如,如果你指定一個type是DAY_SECOND,值expr被希望有天、小時、分鐘和秒部分.如果你象"1:10"這樣指定值,MySQL假設日子和小時部分是丟失的并且值代表分鐘和秒.換句話說,"1:10"?DAY_SECOND以它等價于"1:10"?MINUTE_SECOND的方式解釋,這對那MySQL解釋TIME值表示經過的時間而非作為一天的時間的方式有二義性.如果你使用確實不正確的日期,結果是NULL.如果你增加MONTH、YEAR_MONTH或YEAR并且結果日期大于新月份的最大值天數,日子在新月用最大的天調整.??
歡迎參與《Mysql入門mysql 時間轉換函數的使用方法第1/2頁》討論,分享您的想法,維易PHP學院為您提供專業教程。