| 函數(shù)名稱 | 函數(shù)功能說(shuō)明 |
|---|---|
ADDDATE() |
添加日期 |
ADDTIME() |
添加時(shí)間 |
CONVERT_TZ() |
轉(zhuǎn)換不同時(shí)區(qū) |
CURDATE() |
返回當(dāng)前日期 |
CURRENT_DATE() 與 CURRENT_DATE |
等同于 CURDATE() |
CURRENT_TIME() 與 CURRENT_TIME |
等同于 CURTIME() |
CURRENT_TIMESTAMP() 與 CURRENT_TIMESTAMP |
等同于 NOW() |
CURTIME() |
返回當(dāng)前時(shí)間 |
DATE_ADD() |
添加兩個(gè)日期 |
DATE_FORMAT() |
按指定方式格式化日期 |
DATE_SUB() |
求解兩個(gè)日期的間隔 |
DATE() |
提取日期或日期時(shí)間表達(dá)式中的日期部分 |
DATEDIFF() |
求解兩個(gè)日期的間隔 |
DAY() |
等同于 DAYOFMONTH() |
DAYNAME() |
返回星期中某天的名稱 |
DAYOFMONTH() |
返回一月中某天的序號(hào)(1-31) |
DAYOFWEEK() |
返回參數(shù)所定影的一周中某天的索引值 |
DAYOFYEAR() |
返回一年中某天的序號(hào)(1-366) |
EXTRACT |
提取日期中的相應(yīng)部分 |
FROM_DAYS() |
將一個(gè)天數(shù)序號(hào)轉(zhuǎn)變?yōu)槿掌谥?/td> |
FROM_UNIXTIME() |
將日期格式化為 UNIX 的時(shí)間戳 |
HOUR() |
提取時(shí)間 |
LAST_DAY |
根據(jù)參數(shù),返回月中最后一天 |
LOCALTIME() 和 LOCALTIME |
等同于 NOW() |
LOCALTIMESTAMP 和 LOCALTIMESTAMP() |
等同于 NOW() |
MAKEDATE() |
基于給定參數(shù)年份和所在年中的天數(shù)序號(hào),返回一個(gè)日期 |
MAKETIME |
MAKETIME() |
MICROSECOND() |
返回參數(shù)所對(duì)應(yīng)的毫秒數(shù) |
MINUTE() |
返回參數(shù)對(duì)應(yīng)的分鐘數(shù) |
MONTH() |
返回傳入日期所對(duì)應(yīng)的月序數(shù) |
MONTHNAME() |
返回月的名稱 |
NOW() |
返回當(dāng)前日期與時(shí)間 |
PERIOD_ADD() |
為年-月組合日期添加一個(gè)時(shí)段 |
PERIOD_DIFF() |
返回兩個(gè)時(shí)段之間的月份差值 |
QUARTER() |
返回日期參數(shù)所對(duì)應(yīng)的季度序號(hào) |
SEC_TO_TIME() |
將描述轉(zhuǎn)變成 'HH:MM:SS' 的格式 |
SECOND() |
返回秒序號(hào)(0-59) |
STR_TO_DATE() |
將字符串轉(zhuǎn)變?yōu)槿掌?/td> |
SUBDATE() |
三個(gè)參數(shù)的版本相當(dāng)于 DATE_SUB() |
SUBTIME() |
計(jì)算時(shí)間差值 |
SYSDATE() |
返回函數(shù)執(zhí)行時(shí)的時(shí)間 |
TIME_FORMAT() |
提取參數(shù)中的時(shí)間部分 |
TIME_TO_SEC() |
將參數(shù)轉(zhuǎn)化為秒數(shù) |
TIME() |
提取傳入表達(dá)式的時(shí)間部分 |
TIMEDIFF() |
計(jì)算時(shí)間差值 |
TIMESTAMP() |
單個(gè)參數(shù)時(shí),函數(shù)返回日期或日期時(shí)間表達(dá)式;有2個(gè)參數(shù)時(shí),將參數(shù)加和 |
TIMESTAMPADD() |
為日期時(shí)間表達(dá)式添加一個(gè)間隔 INTERVAL |
TIMESTAMPDIFF() |
從日期時(shí)間表達(dá)式中減去一個(gè)間隔 INTERVAL |
TO_DAYS() |
返回轉(zhuǎn)換成天數(shù)的日期參數(shù) |
UNIX_TIMESTAMP() |
返回一個(gè) UNIX 時(shí)間戳 |
UTC_DATE() |
返回當(dāng)前的 UTC 日期 |
UTC_TIME() |
返回當(dāng)前的 UTC 時(shí)間 |
UTC_TIMESTAMP() |
返回當(dāng)前的 UTC 時(shí)間與日期 |
WEEK() |
返回周序號(hào) |
WEEKDAY() |
返回某天在星期中的索引值 |
WEEKOFYEAR() |
返回日期所對(duì)應(yīng)的星期在一年當(dāng)中的序號(hào)(1-53) |
YEAR() |
返回年份 |
YEARWEEK() |
返回年份及星期序號(hào) |
在第2個(gè)參數(shù)使用 INTERVAL 格式時(shí),ADDDATE() 作用就相當(dāng)于 DATE_ADD()。相關(guān)的函數(shù) SUBDATE() 相當(dāng)于 DATE_SUB()。要想了解 INTERVAL 單位參數(shù),參看DATE_ADD()相關(guān)內(nèi)容。示例如下:
mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 31 DAY);
+---------------------------------------------------------+
| DATE_ADD('1998-01-02', INTERVAL 31 DAY) |
+---------------------------------------------------------+
| 1998-02-02 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT ADDDATE('1998-01-02', INTERVAL 31 DAY);
+---------------------------------------------------------+
| ADDDATE('1998-01-02', INTERVAL 31 DAY) |
+---------------------------------------------------------+
| 1998-02-02 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
當(dāng)函數(shù)的第2個(gè)參數(shù)采用 days 格式時(shí),MySQL 會(huì)認(rèn)為它是一個(gè)表示天數(shù)的整數(shù),將它添加到 expr 上。示例如下:
mysql> SELECT ADDDATE('1998-01-02', 31);
+---------------------------------------------------------+
| DATE_ADD('1998-01-02', INTERVAL 31 DAY) |
+---------------------------------------------------------+
| 1998-02-02 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
ADDTIME() 將 expr2 參數(shù)加到 expr1 參數(shù)上,返回結(jié)果。expr1 是一個(gè)時(shí)間或日期時(shí)間表達(dá)式。expr2 是一個(gè)時(shí)間表達(dá)式。
mysql> SELECT ADDTIME('1997-12-31 23:59:59.999999','1 1:1:1.000002');
+---------------------------------------------------------+
| DATE_ADD('1997-12-31 23:59:59.999999','1 1:1:1.000002') |
+---------------------------------------------------------+
| 1998-01-02 01:01:01.000001 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
這是一個(gè)轉(zhuǎn)換時(shí)區(qū)的函數(shù),將參數(shù) from_tz 所定時(shí)區(qū)的日期時(shí)間值 dt 轉(zhuǎn)變到參數(shù) to_tz 所定時(shí)區(qū),然后返回結(jié)果。如果參數(shù)無(wú)效,則該函數(shù)返回 NULL 值。
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
+---------------------------------------------------------+
| CONVERT_TZ('2004-01-01 12:00:00','GMT','MET') |
+---------------------------------------------------------+
| 2004-01-01 13:00:00 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
+---------------------------------------------------------+
| CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00') |
+---------------------------------------------------------+
| 2004-01-01 22:00:00 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回當(dāng)前日期的函數(shù)。根據(jù)函數(shù)究竟用于字符串還是數(shù)字上下文,選擇使用 'YYYY-MM-DD'('年-月-日') 或 YYYYMMDD(年月日) 格式返回當(dāng)前日期。
mysql> SELECT CURDATE();
+---------------------------------------------------------+
| CURDATE() |
+---------------------------------------------------------+
| 1997-12-15 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT CURDATE() + 0;
+---------------------------------------------------------+
| CURDATE() + 0 |
+---------------------------------------------------------+
| 19971215 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
CURRENT_DATE 和 CURRENT_DATE()CURRENT_DATE 和 CURRENT_DATE() 實(shí)際上等于 CURDATE()。
根據(jù)函數(shù)究竟用于字符串或數(shù)字上下文,選擇以 'HH:MM:SS' 還是 HHMMSS 格式返回當(dāng)前時(shí)間值(以當(dāng)前時(shí)區(qū)來(lái)定)。
mysql> SELECT CURTIME();
+---------------------------------------------------------+
| CURTIME() |
+---------------------------------------------------------+
| 23:50:26 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT CURTIME() + 0;
+---------------------------------------------------------+
| CURTIME() + 0 |
+---------------------------------------------------------+
| 235026 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
CURRENT_TIME 和 CURRENT_TIME() 都相當(dāng)于 CURTIME()。
CURRENT_TIMESTAMP 和 CURRENT_TIMESTAMP() 實(shí)際上相當(dāng)于 NOW()。
提取日期或日期時(shí)間表達(dá)式 expr 中的日期部分。
mysql> SELECT DATE('2003-12-31 01:02:03');
+---------------------------------------------------------+
| DATE('2003-12-31 01:02:03') |
+---------------------------------------------------------+
| 2003-12-31 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
DATEDIFF()將返回expr1 - expr2的值,用來(lái)表示兩個(gè)日期相差的天數(shù)。expr1 和 expr2 都是日期或日期時(shí)間表達(dá)式。運(yùn)算中只用到了這些值的日期部分。
mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
+---------------------------------------------------------+
| DATEDIFF('1997-12-31 23:59:59','1997-12-30') |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
執(zhí)行日期計(jì)算的兩種函數(shù)。date 是一個(gè)用來(lái)指定開始日期的 DATETIME 或 DATE 值。expr 是一種以字符串形式呈現(xiàn)的表達(dá)式,用來(lái)指定從開始日期增加或減少的間隔值。如果是負(fù)的間隔值,則 expr 值的第一個(gè)字符是-號(hào)。unit 是一個(gè)單位關(guān)鍵字,用來(lái)指定expr表達(dá)式應(yīng)該采取的單位。
INTERVAL 關(guān)鍵字與單位說(shuō)明符都不區(qū)分大小寫。
下表列出了每個(gè)單位數(shù)值所對(duì)應(yīng)的 expr 參數(shù)的期望格式。
| 單位所能取的值 | 期望的expr格式 |
|---|---|
MICROSECOND |
毫秒 |
SECOND |
秒 |
MINUTE |
分 |
HOUR |
小時(shí) |
DAY |
日 |
WEEK |
周 |
MONTH |
月 |
QUARTER |
季度 |
YEAR |
年 |
SECOND_MICROSECOND |
'秒.毫秒' |
MINUTE_MICROSECOND |
'分.毫秒' |
MINUTE_SECOND |
'分:秒' |
HOUR_MICROSECOND |
'小時(shí).毫秒' |
HOUR_SECOND |
'小時(shí):分:秒' |
HOUR_MINUTE |
'小時(shí):分' |
DAY_MICROSECOND |
'日.毫秒' |
DAY_SECOND |
'日 小時(shí):分:秒' |
DAY_MINUTE |
'日 小時(shí):分' |
DAY_HOUR |
'日 小時(shí)' |
YEAR_MONTH |
'年-月' |
QUARTER 和 WEEK 都是 MySQL 5.0.0 才開始引入的單位值。
mysql> SELECT DATE_ADD('1997-12-31 23:59:59',
-> INTERVAL '1:1' MINUTE_SECOND);
+---------------------------------------------------------+
| DATE_ADD('1997-12-31 23:59:59', INTERVAL... |
+---------------------------------------------------------+
| 1998-01-01 00:01:00 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_ADD('1999-01-01', INTERVAL 1 HOUR);
+---------------------------------------------------------+
| DATE_ADD('1999-01-01', INTERVAL 1 HOUR) |
+---------------------------------------------------------+
| 1999-01-01 01:00:00 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
該函數(shù)會(huì)根據(jù) format 字符串來(lái)格式化 date 值。
下表中列出了一些可用于 format 字符串的標(biāo)識(shí)符。格式標(biāo)識(shí)符第一個(gè)字符必須是%字符。
| 格式標(biāo)識(shí)符 | 說(shuō)明 |
|---|---|
%a |
一星期中每天名稱的縮寫(Sun...Sat) |
%b |
月份的縮寫(Jan...Dec) |
%c |
月份的數(shù)字表現(xiàn)形式(0...12) |
%D |
帶有英語(yǔ)后綴的一個(gè)月中的每一天的名稱(0th、1st、2nd、3rd) |
%d |
用數(shù)字形式表現(xiàn)的每月中的每一天(00...31) |
%e |
用數(shù)字形式表現(xiàn)的每月中的每一天(0...31) |
%f |
毫秒(000000...999999) |
%H |
24時(shí)制顯示的小時(shí)(00...23) |
%h |
12時(shí)制顯示的小時(shí)(01...12) |
%I |
12時(shí)制顯示的小時(shí)(01...12) |
%i |
以數(shù)字形式表現(xiàn)的分鐘數(shù)(00...59) |
%j |
一年中的每一天(001...366) |
%k |
24時(shí)制小時(shí)的另一種表現(xiàn)格式(0...23) |
%l |
12時(shí)制小時(shí)的另一種表現(xiàn)格式(1...12) |
%M |
用完整英文名稱表示的月份(January...December) |
%m |
用數(shù)字表現(xiàn)的月份(00...12) |
%p |
上午(AM)或下午(PM) |
%r |
12時(shí)制的時(shí)間值(hh:mm:ss,后跟 AM 或 PM) |
%S |
秒(00...59) |
%s |
秒(00...59) |
%T |
24時(shí)制的小時(shí)(hh:mm:ss) |
%U |
星期(00...53),其中星期天是每星期的開始日 |
%u |
星期(00...53),其中星期一是每星期的開始日 |
%V |
星期(01...53),其中星期天是每星期的開始日,和 %X 一起使用 |
%v |
星期(01...53),其中星期一是每星期的開始日,和 %x 一起使用 |
%W |
一星期中各日名稱(Sunday...Saturday) |
%w |
一星期中各日名稱(0代表星期日,6代表星期六,以此類推) |
%X |
某星期所處年份。其中,星期天是每星期的開始日,采用4位數(shù)字形式表現(xiàn),和 %V一起使用 |
%x |
某星期所處年份。其中,星期一是每星期的開始日,采用4位數(shù)字形式表現(xiàn),和 %V 一起使用 |
%Y |
4位數(shù)字表示的年份 |
%y |
2位數(shù)字表示的年份 |
%% |
符號(hào)%的字面值 |
| %x(x為斜體) | 字符x的字面值,x指以上未列出的任何字符 |
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
+---------------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y') |
+---------------------------------------------------------+
| Saturday October 1997 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00'
-> '%H %k %I %r %T %S %w');
+---------------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00....... |
+---------------------------------------------------------+
| 22 22 10 10:23:00 PM 22:23:00 00 6 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
類似 DATE_ADD() 函數(shù)。
DAY() 等同于 DAYOFMONTH()。
返回 date 參數(shù)所對(duì)應(yīng)的星期幾。
mysql> SELECT DAYNAME('1998-02-05');
+---------------------------------------------------------+
| DAYNAME('1998-02-05') |
+---------------------------------------------------------+
| Thursday |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 date 參數(shù)所對(duì)應(yīng)的一月中的第幾天,取值范圍從0到31。
mysql> SELECT DAYOFMONTH('1998-02-03');
+---------------------------------------------------------+
| DAYOFMONTH('1998-02-03') |
+---------------------------------------------------------+
| 3 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 date 參數(shù)所對(duì)應(yīng)的每周中的某一天的索引值(1 = Sunday,2 = Monday……7 = Saturday)。這些索引值對(duì)應(yīng)著 ODBC 標(biāo)準(zhǔn)。
mysql> SELECT DAYOFWEEK('1998-02-03');
+---------------------------------------------------------+
|DAYOFWEEK('1998-02-03') |
+---------------------------------------------------------+
| 3 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 date 參數(shù)所對(duì)應(yīng)的一年中的某一天,取值范圍從1到366。
mysql> SELECT DAYOFYEAR('1998-02-03');
+---------------------------------------------------------+
| DAYOFYEAR('1998-02-03') |
+---------------------------------------------------------+
| 34 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
EXTRACT() 函數(shù) 使用同樣的單位標(biāo)識(shí)符 DATE_ADD() 或 DATE_SUB(),但是只從 date 中提取相應(yīng)部分,而不執(zhí)行日期運(yùn)算。
mysql> SELECT EXTRACT(YEAR FROM '1999-07-02');
+---------------------------------------------------------+
| EXTRACT(YEAR FROM '1999-07-02') |
+---------------------------------------------------------+
| 1999 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT EXTRACT(YEAR_MONTH FROM '1999-07-02 01:02:03');
+---------------------------------------------------------+
| EXTRACT(YEAR_MONTH FROM '1999-07-02 01:02:03') |
+---------------------------------------------------------+
| 199907 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
給定某日 N,返回一個(gè) DATE 值。
mysql> SELECT FROM_DAYS(729669);
+---------------------------------------------------------+
| FROM_DAYS(729669) |
+---------------------------------------------------------+
| 1997-10-07 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
使用 FROM_DAYS() 時(shí),要特別注意古代的日期。該函數(shù)不適用于格里高里歷(即公歷)頒布(公元1582年)之前的日期。
mysql> SELECT FROM_UNIXTIME(875996580);
+---------------------------------------------------------+
| FROM_UNIXTIME(875996580) |
+---------------------------------------------------------+
| 1997-10-04 22:23:00 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT HOUR('10:05:03');
+---------------------------------------------------------+
| HOUR('10:05:03') |
+---------------------------------------------------------+
| 10 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT LAST_DAY('2003-02-05');
+---------------------------------------------------------+
| LAST_DAY('2003-02-05') |
+---------------------------------------------------------+
| 2003-02-28 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
LOCALTIME 和 LOCALTIME() 與 NOW() 具有相同意義。
LOCALTIMESTAMP 和 LOCALTIMESTAMP() 與 NOW()具有相同意義。
基于給定參數(shù)年份(year)和一年中的某一天(dayofyear),返回一個(gè)日期值。dayofyear必須大于0,否則結(jié)果為空。
dayofyear與DAYOFYEAR()函數(shù)取值類似,取值范圍為1-366。
mysql> SELECT MAKEDATE(2001,31), MAKEDATE(2001,32);
+---------------------------------------------------------+
| MAKEDATE(2001,31), MAKEDATE(2001,32) |
+---------------------------------------------------------+
| '2001-01-31', '2001-02-01' |
+---------------------------------------------------------+
1 row in set (0.00 sec)
基于給定的 hour、minute以及 second 這3個(gè)參數(shù),計(jì)算出一個(gè)時(shí)間值。
mysql> SELECT MAKETIME(12,15,30);
+---------------------------------------------------------+
| MAKETIME(12,15,30) |
+---------------------------------------------------------+
| '12:15:30' |
+---------------------------------------------------------+
1 row in set (0.00 sec)
基于時(shí)間或“日期+時(shí)間”的表達(dá)式 expr,返回一個(gè)以毫秒計(jì)的時(shí)間值,取值范圍為0-99999。
mysql> SELECT MICROSECOND('12:00:00.123456');
+---------------------------------------------------------+
| MICROSECOND('12:00:00.123456') |
+---------------------------------------------------------+
| 123456 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
基于 time 參數(shù),返回分鐘數(shù),取值范圍為0-59。
mysql> SELECT MINUTE('98-02-03 10:05:03');
+---------------------------------------------------------+
| MINUTE('98-02-03 10:05:03') |
+---------------------------------------------------------+
| 5 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
基于 date 參數(shù),返回月份值,取值范圍為0-12。
mysql> SELECT MONTH('1998-02-03')
+---------------------------------------------------------+
| MONTH('1998-02-03') |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
基于 date 參數(shù),返回月份的完整英文名稱。
mysql> SELECT MONTHNAME('1998-02-05');
+---------------------------------------------------------+
| MONTHNAME('1998-02-05') |
+---------------------------------------------------------+
| February |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回一定格式的日期+時(shí)間值。根據(jù)函數(shù)是否用于字符串或數(shù)字內(nèi)容,格式為 'YYYY-MM-DD HH:MM:SS' 或 YYYYMMDDHHMMSS。
mysql> SELECT NOW();
+---------------------------------------------------------+
| NOW() |
+---------------------------------------------------------+
| 1997-12-15 23:50:26 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
將 N 個(gè)月添加到時(shí)段 P (格式為 YYMM 或 YYYYMM)上,返回值格式為 YYYYMM。注意:時(shí)段參數(shù) P 不是一個(gè)日期值。
mysql> SELECT PERIOD_ADD(9801,2);
+---------------------------------------------------------+
| PERIOD_ADD(9801,2) |
+---------------------------------------------------------+
| 199803 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
時(shí)段 P1 和 P2 之間的月份差值。P1 與 P2 的格式應(yīng)為 YYMM 或 YYYYMM。注意,時(shí)段參數(shù) P1 和 P2 都不是日期值。
mysql> SELECT PERIOD_DIFF(9802,199703);
+---------------------------------------------------------+
| PERIOD_DIFF(9802,199703) |
+---------------------------------------------------------+
| 11 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回參數(shù) date 所對(duì)應(yīng)的年中某季度,取值范圍為1-4。
mysql> SELECT QUARTER('98-04-01');
+---------------------------------------------------------+
| QUARTER('98-04-01') |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回參數(shù) time 所對(duì)應(yīng)的秒數(shù),取值范圍為0-59。
mysql> SELECT SECOND('10:05:03');
+---------------------------------------------------------+
| SECOND('10:05:03') |
+---------------------------------------------------------+
| 3 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
將參數(shù) seconds 轉(zhuǎn)換成以'HH:MM:SS' 或 HHMMSS 格式(根據(jù)函數(shù)應(yīng)用上下文是字符串還是數(shù)字)輸出的時(shí)間值。
mysql> SELECT SEC_TO_TIME(2378);
+---------------------------------------------------------+
| SEC_TO_TIME(2378) |
+---------------------------------------------------------+
| 00:39:38 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
DATE_FORMAT()函數(shù)的逆向函數(shù)。包含2個(gè)參數(shù),字符串類型參數(shù) str 和格式字符串參數(shù) format。返回值有2種可能性:如果格式字符串既包含日期又包含時(shí)間,則返回一個(gè) DATETIME 值;如果格式字符串只包含日期或時(shí)間部分,則函數(shù)也相應(yīng)返回 DATE 或 TIME 類型的值。
mysql> SELECT STR_TO_DATE('04/31/2004', '%m/%d/%Y');
+---------------------------------------------------------+
| STR_TO_DATE('04/31/2004', '%m/%d/%Y') |
+---------------------------------------------------------+
| 2004-04-31 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
當(dāng)?shù)诙€(gè)參數(shù)采用 INTERVAL 格式時(shí),SUBDATE() 等同于 DATE_SUB()。要想詳細(xì)了解 INTERVAL 單元參數(shù),請(qǐng)參考 DATE_ADD()。
mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
+---------------------------------------------------------+
| DATE_SUB('1998-01-02', INTERVAL 31 DAY) |
+---------------------------------------------------------+
| 1997-12-02 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBDATE('1998-01-02', INTERVAL 31 DAY);
+----------------------------