時間數據格式組件:
組件 | 定義 | 范圍 |
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()函數。