DATE_FORMAT()
> 將date或datetime類型值轉換為任意的時間格式。
常用場景:某表有一個字段是更新時間,存儲的是datetime類型,但前臺展示時只需要顯示 年-月-日(`xxxx-xx-xx`),這時候就可以用DATE_FORMAT() 處理,而不需要在結果集中用程序循環處理。
~~~
`DATE_FORMAT(date,'%Y-%m-%d ')`
~~~
|格式 |形式|用例|
|--|--|--|
|%Y |數值(xxxx) | 1994 |
|%y |數值(xx) | 94|
|%m| 數值(00-12) | 08|
|%c |數值(0-12) | 8|
|%d |數值(00-31) | 03 |
|%e |數值(0-31) | 31
當我們做日期比較的時候,對日期的格式一定要分清楚
~~~
SELECT
DATE_FORMAT(
creat_time,
'%Y-%m-%d %h:%i:%s'
)
FROM
tblName
WHERE
DATE_FORMAT(
creat_time,
'%Y-%m-%d %h:%i:%s'
) > '2016-8-31'
~~~
如上比較會出錯,因為我們的格式化時間中%m格式的月份為08并不是8,因此應將%m改為%c。
#### DATE_FORMAT(date,format)
根據format字符串格式化date值,format字符串中可用標志符:
%M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 數字, 4 位
%y 年, 數字, 2 位
%a 縮寫的星期名字(Sun……Sat)
%d 月份中的天數, 數字(00……31)
%e 月份中的天數, 數字(0……31)
%m 月, 數字(01……12)
%c 月, 數字(1……12)
%b 縮寫的月份名字(Jan……Dec)
%j 一年中的天數(001……366)
%H 小時(00……23)
%k 小時(0……23)
%h 小時(01……12)
%I 小時(01……12)
%l 小時(1……12)
%i 分鐘, 數字(00……59)
%r 時間,12 小時(hh:mm:ss [AP]M)
%T 時間,24 小時(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一個星期中的天數(0=Sunday ……6=Saturday )
%U 星期(0……52), 這里星期天是星期的第一天
%u 星期(0……52), 這里星期一是星期的第一天
%% 字符%
~~~
mysql> select DATE_FORMAT('1997-10-04 22:23:00','%W %M %Y');
-> 'Saturday October 1997'
mysql> select DATE_FORMAT('1997-10-04 22:23:00','%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT('1997-10-04 22:23:00','%D %y %a %d %m %b %j');
-> '4th 97 Sat 04 10 Oct 277'
mysql> select DATE_FORMAT('1997-10-04 22:23:00','%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
~~~
- 目錄
- 數據庫表
- 13.7.5.6 SHOW COLUMNS Syntax
- Mysql生成列
- 表注釋
- 默認字符集
- 索引
- 外鍵約束
- 數據類型
- NULL
- 查詢語句
- IF
- CASE
- FIND_IN_SET
- 更新語句
- 復制更新
- 截取更新
- 插入語句
- 從一張表查詢一個字段值插入另一個表中
- 統計函數
- COUNT
- 分組統計
- 日期時間字段按照日期分組
- GROUP_CONCAT
- 多字段關聯
- LENGTH
- mb_strlen()
- SUM
- 按周,按月,按日分組統計數據
- 日期時間
- MySQL日期時間數據類型使用總結
- 計算日期差
- 插入當前日期時間
- 時間比較
- datetime
- 日期時間取時間段
- 統計
- 整型unix時間戳
- 計算兩條相鄰記錄的時間差
- 日期時間-函數
- 常用函數
- CURDATE
- DATEDIFF
- DATE_ADD
- DATE_SUB
- EXTRACT
- NOW
- TO_DAYS
- UNIX_TIMESTAMP
- 作為時間比較
- FROM_UNIXTIME
- DATE_FORMAT
- TIMESTAMPDIFF
- 觸發器
- 存儲過程
- MySQL存儲過程的基本函數
- 分頁存儲過程
- 存儲過程教程
- 臨時表
- 備份表
- CRM
- 客戶關系表
- 通訊錄
- SQL函數
- ISNULL
- IFNULL
- SUBSTR
- 模糊查詢
- JSON
- Json函數
- Json數據類型
- 使用Json
- 使用navicat
- 虛擬列
- CRUD
- 索引設計
- 增加多字段索引
- 共享排他鎖