mysql关于日期的函数

朱雀 2024-02-19 12:30 106阅读 0赞

一、mysql中date和String之间的转换

1、date转换成String

DATE_FORMAT(date,format) date:需要转换的日期 format:格式化的样式

年: %Y 显示四位 : 2015 %y 只显示后两位 :15

月: %M 月份的英文显示:October %m 月份的阿拉伯显示:01-12 %b 月份的英文缩略显示:Oct %c 月份的阿拉伯显 示:1-12

日: %d 阿拉伯显示:00-31 %D 带有英文后缀:1st-31th %e 阿拉伯显示:1-31 %j 年的天:001-366

时: %H :00-23 %h:01-12 %I:01-12 %k:0-23 %l:1-12

分: %i:00-59

秒: %S:00-59 %s:00-59

微妙: %f

AM/PM:%p

12小时制时间:%r: 02:02:44 PM

24小时制时间: %T: 14:02:44

周: %W:周的英文显示 %w 周的阿拉伯显示 :0(星期日)-6(星期六) %a 周的英文缩略显示:Mon-

例如:DATE_FORMAT(now(),”%Y-%m-%d %T”) 2018-10-23 13:10:50

DATE_FORMAT(now(),”%Y-%m-%d %H:%i:%s %p”) 2018-10-01 17:10:52 PM

2、String转换成date

使用的函数:STR_TO_DATE(str,format) str:字符形式的日期 format:格式化样式

例如: STR_TO_DATE(‘2018-10-22’,”%Y-%m-%d”) 输出:2018-10-22(日期形式)

二、MySql获取当前时间的,前后时间的方法

SELECT NOW(),CURDATE(),CURTIME()

70

今天是2016年08月01日。使用date_sub函数:

date_sub(‘2016-08-01’,interval 1 day) 表示 2016-07-31
date_sub(‘2016-08-01’,interval 0 day) 表示 2016-08-01
date_sub(‘2016-08-01’,interval -1 day) 表示 2016-08-02

date_sub(curdate(),interval 1 day) 表示 2016-07-31
date_sub(curdate(),interval -1 day) 2016-08-02
date_sub(curdate(),interval 1 month) 表示 2016-07-01
date_sub(curdate(),interval -1 month) 表示 2016-09-01
date_sub(curdate(),interval 1 year) 表示 2015-08-01
date_sub(curdate(),interval -1 year) 表示 2017-08-01

发表评论

表情:
评论列表 (有 0 条评论,106人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MYSQL 日期函数

    对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。 这里是一个使用日期函数的例子。下面的查询选择了所有记

    相关 mysql 日期函数

    最近一段时间带着几个人一起做了好多项目上的需求,有在新的微服务项目实现,也有在旧系统上做开发。在做代码review的过程中,看着每个人写sql都有着不一样的实现,让我看到了自己