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
- 索引设计
- 增加多字段索引
- 共享排他锁