内容目录

简介mysql时间类型DATE_FORMAT()函数

简介

今天开发中,做一个功能需要对历史数据进行补充,相信大家也遇到过这样的情况,这个历史数据需要按月份和人的id进行区分,于是想到了mysql的时间格式化,这样直接写个sql脚本就不需要程序去执行了,在做到这一块时我个人对时间这一块没有详细了解过,所以借助这个机会整理一下mysql时间相关的内容,其实我这次主要用的是时间格式转换功能,脚本如下

1INSERT INTO `xxxx`.`xxxxx`(`years_month`, `receipt_user_id`, `receipt_freight_charge`, `receipt_other_charges`, `receipt_waiting_charge`, `receipt_insurance_premium`, `c_u`, `c_t`) 
2SELECT DATE_FORMAT(c_t,'%y%m'), receipt_user_id, IFNULL(SUM(receipt_freight_charge), 0), IFNULL(SUM(receipt_other_charges), 0), 
3IFNULL(SUM(receipt_waiting_charge), 0), IFNULL(SUM(receipt_insurance_premium), 0), 'system', SYSDATE() FROM t_account_truck_drv WHERE c_t < '2019-11-01 00:00:00' GROUP BY DATE_FORMAT(c_t,'%y%m'), receipt_user_id;

mysql时间类型

mysql字段的时间类型分为5种:DATE,DATETIME,TIME,TIMESTAMP,YEAR;
说实话这五种类型我以前只用datetime,为什么用大家都用这个,所以今天趁这个机会整理学习一下。

类型 字节大小 范围 格式 零值 用途
DATE 3 1000-01-01/9999-12-32 YYYY-MM-DD 0000-00-00 日期值
DATETIME 8 1000-01-01 00:00:00/9999-12-32 23:59:59 YYYY-MM-DD hh:mm:ss 0000-00-00 00:00:00 混合日期和时间值
TIME 3 -838:59:59/838:59:59 hh:mm:ss 00:00:00 时间值
TIMESTAMP 4 1970-01-01 00:00:01/2038-01-19 03:14:07 YYYY:MM:DD: hh:mm:ss 0000-00-00 00:00:00 混合日期和时间值,时间戳
YEAR 1 1901/2155 YYYY 0000 年份值

每个时间类型都有一个有效范围和一个零值,当指定的类型的值超过有效范围时,就会使用零值
上表对各个字段的罗列已经很详细了,根据业务的不同选择合适的字段,只是timestamp还有十几年就到期了,感觉这个不太靠谱了其余的也就没啥了

DATE_FORMAT()函数

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

语法

1DATE_FORMAT(date,format)

date 参数是合法的日期。format 规定日期/时间的输出格式。
示例:

1SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p'); //Nov 20 2019 03:11 PM
2SELECT DATE_FORMAT(NOW(),'%m-%d-%Y'); //11-20-2019
3SELECT DATE_FORMAT(NOW(),'%d %b %y'); //20 Nov 19
4SELECT DATE_FORMAT(NOW(),'%d %b %Y %T:%f'); //20 Nov 2019 15:11:22:000000

格式描述:

格式 描述
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%f 微秒
%H 小时 (00-23)
%h 小时 (01-12)
%I 小时 (01-12)
%i 分钟,数值(00-59)
%j 年的天 (001-366)
%k 小时 (0-23)
%l 小时 (1-12)
%M 月名
%m 月,数值(00-12)
%p AM 或 PM
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%S 秒(00-59)
%s 秒(00-59)
%T 时间, 24-小时 (hh:mm:ss)
%U 周 (00-53) 星期日是一周的第一天
%u 周 (00-53) 星期一是一周的第一天
%V 周 (01-53) 星期日是一周的第一天,与 %X 使用
%v 周 (01-53) 星期一是一周的第一天,与 %x 使用
%W 星期名
%w 周的天 (0=星期日, 6=星期六)
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y 年,4 位
%y 年,2 位

mysql时间类型和格式转换的更多相关文章

  1. mysql 时间类型datetime与timestamp区别比较

    mysql 时间类型datetime与timestamp区别比较 相同点: 显示宽度和格式相同,显示宽度固定在19字符,格式为YYYY-MM-DD HH:MM:SS. 不同点: (1)时间范围不同: ...

  2. MySQL 时间类型字段的分析

    日期类型                存储空间               日期格式                                           日期范围---------- ...

  3. MySQL:MySQL日期数据类型、MySQL时间类型使用总结

    MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间      日期格式                日期范围------------  -------- ...

  4. MySQL日期数据类型、MySQL时间类型使用总结

    MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...

  5. mysql 时间类型分类

    MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围------------ ---- ...

  6. mysql 时间类型精确到毫秒、微秒及其处理

    一.MySQL 获得毫秒.微秒及对毫秒.微秒的处理 MySQL 较新的版本中(MySQL 6.0.5),也还没有产生微秒的函数,now() 只能精确到秒. MySQL 中也没有存储带有毫秒.微秒的日期 ...

  7. MySQL时间类型及获取、展示处理

    MySQL时间格式 mysql所支持的日期时间类型有:DATETIME. TIMESTAMP.DATE.TIME.YEAR. 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小值 最大值 零值 ...

  8. Mysql时间类型处理

    关于Mysql中时间的处理 最近在读<人类简史>,读第二遍.只有晚上睡觉之前读一点点,有时候觉得一天可以抽出一个专门的时间来看书了,效率应该能高不少. 另外分享个网址可以随心创作 这里有一 ...

  9. Java时间日期字符串格式转换大全

    import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @return 返回时间类型 ...

随机推荐

  1. H3C OSPF协议区域LSA发布

  2. H3C开启Ssh

    [H3C]ssh server enable                       //开启SSH服务 [H3C]user-interface vty 0 4 [H3C-ui-vty0-4]au ...

  3. substring和substr的区别和使用

    第一反应是都是截取字符串的方法,好像平常使用的时候也没太注意区分这俩,今天看到正好来区分一下 substring(start,[end]) 如果省略end,那么截取的是从指定位置到末尾 var str ...

  4. grep工具

    全面搜索正则表达式(Global search regular expression(RE) ,GREP)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. Unix/Lin ...

  5. vagrant在windows下的安装和配置(一)

    记录一下安装和配置过程中的一些坑步骤一分别下载vagrant和VirtualBox,我这里下载的是vagrant_1.9.1.msi 和 VirtualBox-5.1.14-112924-Win.ex ...

  6. 超简单!pytorch入门教程(一):Tensor

    http://www.jianshu.com/p/5ae644748f21 二.pytorch的基石--Tensor张量 其实标量,向量,矩阵它们三个也是张量,标量是零维的张量,向量是一维的张量,矩阵 ...

  7. Django的安装命令

    国内的一些pipy镜像源: 1.清华源: https://pypi.tuna.tsinghua.edu.cn/simple 2.豆瓣源: https://pypi.douban.com/simple ...

  8. 《提升能力,涨薪可待》-Java并发之AQS全面详解

    欢迎关注公众号[Ccww笔记],原创技术文章第一时间推出 一.AQS是什么?有什么用? AQS全称AbstractQueuedSynchronizer,即抽象的队列同步器,是一种用来构建锁和同步器的框 ...

  9. 019 Ceph整合openstack

    一.整合 glance ceph 1.1 查看servverb关于openstack的用户 [root@serverb ~]# vi ./keystonerc_admin unset OS_SERVI ...

  10. 016 Ceph的集群管理_2

    一.Ceph集群的运行状态 集群状态:HEALTH_OK,HEALTH_WARN,HEALTH_ERR 1.1 常用查寻状态指令 [root@ceph2 ~]#    ceph health deta ...