【Mysql 學習】日期函式函式

楊奇龍發表於2011-01-01

--curdate()返回當前日期
mysql> select curdate();
+------------+
| curdate()  |
+------------+
| 2011-01-01 |
+------------+
1 row in set (0.00 sec)
--curtime()返回當前時間
mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 09:23:15  |
+-----------+
1 row in set (0.00 sec)
--now()返回當前的時間和日期
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2011-01-01 09:23:25 |
+---------------------+
1 row in set (0.00 sec)
--unix_timestamp 返回日期date 的unix時間戳
mysql> select unix_timestamp(now());
+-----------------------+
| unix_timestamp(now()) |
+-----------------------+
|            1293845026 |
+-----------------------+
1 row in set (0.00 sec)
--from_unixtime()返回unix時間戳的日期值
mysql> select from_unixtime(unix_timestamp(now()));
+--------------------------------------+
| from_unixtime(unix_timestamp(now())) |
+--------------------------------------+
| 2011-01-01 09:24:17                  |
+--------------------------------------+
1 row in set (0.00 sec)
--week(date)返回日期date為這一年的第幾周
--year(date)返回日期date 的年
mysql> select week(now()),year(now());
+-------------+-------------+
| week(now()) | year(now()) |
+-------------+-------------+
|           0 |        2011 |
+-------------+-------------+
1 row in set (0.01 sec)
--hour(time)--返回time的小時
--minute(time)--返回time的分鐘
mysql> select hour(curtime()) ,minute(curtime());
+-----------------+-------------------+
| hour(curtime()) | minute(curtime()) |
+-----------------+-------------------+
|               9 |                25 |
+-----------------+-------------------+
1 row in set (0.00 sec)
--monthname(date)--返回date的月份
mysql> select monthname(now());
+------------------+
| monthname(now()) |
+------------------+
| January          |
+------------------+
1 row in set (0.01 sec)
--date_format(date,fmt) 返回按照字元fmt格式的date值
mysql> select date_format(now(),'%M,%D,%Y');
+-------------------------------+
| date_format(now(),'%M,%D,%Y') |
+-------------------------------+
| January,1st,2011              |
+-------------------------------+
1 row in set (0.00 sec)
--date_add(date, interval exp type) 返回一個日期或時間值加上一個時間間隔的時間值。
mysql> select now() current,date_add(now(), interval 31 day ) after31days;
+---------------------+---------------------+
| current             | after31days         |
+---------------------+---------------------+
| 2011-01-01 09:27:41 | 2011-02-01 09:27:41 |
+---------------------+---------------------+
1 row in set (0.01 sec)

mysql> select now() current,date_add(now(), interval -31 day ) before31days ,date_add(now(), interval '-a_-2' year_month) after_oneyear_2month;
+---------------------+---------------------+----------------------+
| current             | before31days        | after_oneyear_2month |
+---------------------+---------------------+----------------------+
| 2011-01-01 09:29:32 | 2010-12-01 09:29:32 | 2010-11-01 09:29:32  |
+---------------------+---------------------+----------------------+
1 row in set (0.00 sec)

--datediff(date1,date2)從起始時間date1到結束時間date2之間的天數

mysql> select datediff('2007-09-15',now()) begin, datediff('2011-06-25',now()) end;
+-------+------+
| begin | end  |
+-------+------+
| -1204 |  175 |
+-------+------+
1 row in set (0.00 sec)
--計算從我上大學到現在的天數,和現在到我離開學校的天數。
mysql> select abs(datediff('2007-09-15',now())) begin_days, datediff('2011-06-25',now())

end_days;
+------------+----------+
| begin_days | end_days |
+------------+----------+
|       1204 |      175 |
+------------+----------+
1 row in set (0.00 sec)
附錄:mysql中的時間格式:
說明符     說明
%a 工作日的縮寫名稱  (Sun..Sat)
%b 月份的縮寫名稱  (Jan..Dec)
%c 月份,數字形式(0..12)
%D 帶有英語字尾的該月日期  (0th, 1st, 2nd, 3rd, ...)
%d 該月日期, 數字形式 (00..31)
%e 該月日期, 數字形式(0..31)
%f 微秒 (000000..999999)
%H 小時(00..23)
%h 小時(01..12)
%I 小時 (01..12)
%i 分鐘,數字形式 (00..59)
%j 一年中的天數 (001..366)
%k 小時 (0..23)
%l 小時 (1..12)
%M 月份名稱 (January..December)
%m 月份, 數字形式 (00..12)
%p 上午(AM)或下午(PM)
%r 時間 , 12小時制 (小時hh:分鐘mm:秒數ss 後加 AM或PM)
%S 秒 (00..59)
%s 秒 (00..59)
%T 時間 , 24小時制 (小時hh:分鐘mm:秒數ss)
%U 周 (00..53), 其中週日為每週的第一天
%u 周 (00..53), 其中週一為每週的第一天 
%V 周 (01..53), 其中週日為每週的第一天 ; 和 %X同時使用
%v 周 (01..53), 其中週一為每週的第一天 ; 和 %x同時使用
%W 工作日名稱 (週日..週六)
%w 一週中的每日 (0=週日..6=週六)
%X 該周的年份,其中週日為每週的第一天, 數字形式,4位數;和%V同時使用
%x 該周的年份,其中週一為每週的第一天, 數字形式,4位數;和%v同時使用
%Y 年份, 數字形式,4位數
%y 年份, 數字形式 (2位數)
%%‘%’文字字元

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-683152/,如需轉載,請註明出處,否則將追究法律責任。

相關文章