時間資料格式元件:
元件 | 定義 | 範圍 |
YYYY | 年份,包括世紀 | 1000~9999 |
MM | 月份 | 01(January)~12(December) |
DD | 日 | 01~31 |
HH | 小時 | 00~23 |
HHH | 小時 | -838~838 |
MI | 分鐘 | 00~59 |
SS | 秒 | 00~59 |
日期資料部件:
型別 | 預設格式 |
Date | YYYY-MM-DD |
Datetime | YYYY-MM-DD HH:MI:SS |
Timestamp | YYYY-MM-DD HH:MI:SS |
Time | HHH:MI:SS |
一、產生時間日期的函式
1、str_to_date() 格式化輸出時間日期
函式str_to_date()可以格式化輸出時間日期,該函式可識別30多種格式部件(format component)。
舉例:將字串"September 02, 2016" 輸出為日期資料
mysql> select str_to_date('September 02,2016', '%M %d,%Y') as date; -- 注:str_to_date()的引數一與引數二的格式應一致 +------------+ | date | +------------+ | 2016-09-02 | +------------+ 1 row in set (0.00 sec)
附:日期格式部件
格式部件 | 描述 |
%M | 月名稱(January)~(December) |
%m | 月序號(01~12) |
%d | 日序號(01~31) |
%j | 日在一年中的序號(001~366) |
%W | 星期名稱(星期日~星期六) |
%Y | 4位數字表示的年份 |
%y | 兩位數字表示的年份 |
%H | 小時(00~23) |
%h | 小時(01~12) |
%i | 分鐘(00~59) |
%f | 微秒(000000~999999) |
%s | 秒鐘(00~59) |
%p | A.M.或P.M. |
2、生成當前時間日期函式
下列函式將按照所返回時間型別的預設格式返回當前日期或時間值。
mysql> select current_date(), current_time(), current_timestamp(); +----------------+----------------+---------------------+ | current_date() | current_time() | current_timestamp() | +----------------+----------------+---------------------+ | 2016-11-30 | 14:44:44 | 2016-11-30 14:44:44 | +----------------+----------------+---------------------+ 1 row in set (0.00 sec)
在Oracle資料庫包含current_date()和current_time()函式,但沒有current_time(),而SQL Server則只包含current_timestamp()函式。