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