MySQL 日期函数大全(更新中.....)

2022-11-16 18:59:11 浏览数 (1)

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主

文章目录

  • sql
  • ADDDATE()
  • ADDTIME()
  • ADDTIME()
  • curdate()
  • CURRENT_DATE()
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • curtime()
  • date()
  • DATEDIFF()
  • date_add()
  • DATE_FORMAT()
  • date_sub()
  • day()
  • DAYNAME()
  • DAYOFMONTH()
  • DAYOFWEEK()
  • DAYOFYEAR()
  • EXTRACT()
  • FROM_DAYS()
  • hour()
  • LAST_DAY()
  • LOCALTIME()
  • LOCALTIMESTAMP()
  • makedate()
  • maketime()
  • MICROSECOND()
  • minute()
  • MONTHNAME()
  • MONTH()
  • now()
  • PERIOD_ADD()
  • period_diff()
  • quarter()
  • second()
  • SEC_TO_TIME()
  • STR_TO_DATE()
  • subdate()
  • subtime()
  • sysdate()
  • time()
  • time_format()
  • time_to_sec()

sql

ADDDATE()

代码语言:javascript复制
SELECT ADDDATE("2017-06-15",INTERVAL 10 DAY);

解析:增加10天到这个日期上2017-06-15

ADDTIME()

代码语言:javascript复制
SELECT ADDTIME("2011-11-11 11:11:11",5);

解析:增加五秒钟到第一个参数的日期上"2011-11-11 11:11:11"

ADDTIME()

代码语言:javascript复制
SELECT ADDTIME("2020-06-15 09:34:21", "2:10:5"); 

解析:增加 2 小时, 10 分钟, 5 秒到第一个参数的日期上.

curdate()

代码语言:javascript复制
SELECT curdate();

解析:显示当前日期

CURRENT_DATE()

代码语言:javascript复制
SELECT CURRENT_DATE();

解析:显示当前日期

CURRENT_TIME()

代码语言:javascript复制
SELECT CURRENT_TIME();

解析:显示当前时间

CURRENT_TIMESTAMP()

代码语言:javascript复制
SELECT CURRENT_TIMESTAMP();

解析:显示当前日期 时间

curtime()

代码语言:javascript复制
SELECT curtime();

解析:显示当前时间

date()

代码语言:javascript复制
SELECT DATE("2017-06-15"); 

解析:从日期或日期时间表达式中提取日期值

DATEDIFF()

代码语言:javascript复制
SELECT DATEDIFF('2001-01-01','2001-02-02')

解析:计算日期 d1->d2 之间相隔的天数

date_add()

代码语言:javascript复制
SELECT date_add("2017-06-15",INTERVAL 10 DAY);

解析:加10天到第一个参数日期上

代码语言:javascript复制
SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL 15 MINUTE);

解析:加15分钟到第一个参数日期上

代码语言:javascript复制
SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL -3 HOUR);

解析:加-3小时到第一个参数日期上

代码语言:javascript复制
SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL -3 MONTH);

解析:加-3个月到第一个参数的日期上

DATE_FORMAT()

代码语言:javascript复制
SELECT DATE_FORMAT('2011-11-11 11:11:11','%Y-%m-%d %r')

解析:以年-月-日这种格式输出。%r代码am还是pm。am表示凌晨和上午,pm表示下午和晚上。(0:00-12:00)。

代码语言:javascript复制
SELECT DATE_FORMAT('2011-11-11 23:11:11','%Y-%m-%d %r')

解析:以年-月-日这种格式输出。%r代码am还是pm。am表示凌晨和上午,pm表示下午和晚上。12:01-24:00)。

date_sub()

代码语言:javascript复制
SELECT time,date_sub(time,INTERVAL 2 DAY) as timedate from customers;

解析:date_sub(time,INTERVAL 2 DAY)的意思是当前time字段时间减去两天.就成了2022-11-04 16:16:11.原本是2022-11-06 16:16:11

day()

代码语言:javascript复制
SELECT day("2017-06-15");

解析:输出日,不输出年 月

DAYNAME()

代码语言:javascript复制
SELECT DAYNAME('2011-11-11 11:11:11');

看这个日期是星期几呢?2011-11-11 11:11:11

DAYOFMONTH()

代码语言:javascript复制
SELECT DAYOFMONTH('2011-11-11 11:11:11');

输出这个日期是2011-11-11 11:11:11是11月的第几天

DAYOFWEEK()

代码语言:javascript复制
SELECT DAYOFWEEK('2011-11-11 11:11:11');

解析:这个(2011-11-11 11:11:11)日期 day今天是星期几,1 星期日,2 星期一,以此类推

DAYOFYEAR()

代码语言:javascript复制
SELECT DAYOFYEAR('2011-11-11 11:11:11')

解析:计算2011年11月11日这个日期是2011年的第几天

EXTRACT()

代码语言:javascript复制
SELECT EXTRACT(MINUTE FROM '2011-11-11 11:33:11') 

计算2011-11-11 11:33:11这个日期时间的分钟时多少呢?

FROM_DAYS()

代码语言:javascript复制
SELECT FROM_DAYS(1111);

解析:计算从 0000 年 1 月 1 日开始 1111天后的日期

hour()

代码语言:javascript复制
SELECT hour('1:2:3');

解析: t 中的小时值。小时1,2分钟,3秒

LAST_DAY()

代码语言:javascript复制
SELECT LAST_DAY("2017-06-20");

解析:给定日期的那一月份(6月份)的最后一天

LOCALTIME()

代码语言:javascript复制
SELECT LOCALTIME()

解析:输出当前日期和时间

LOCALTIMESTAMP()

代码语言:javascript复制
SELECT LOCALTIMESTAMP()

解析:返回当前日期和时间

makedate()

代码语言:javascript复制
SELECT makedate(2017, 3);

解析:2017年第三天是什么日期

maketime()

代码语言:javascript复制
SELECT maketime(11,35,4);

解析:组合时间,参数分别为第一个参数:小时、第二个参数:分钟、第三个参数:秒

MICROSECOND()

代码语言:javascript复制
SELECT MICROSECOND("2017-06-20 09:34:00.000023");

解析:日期参数所对应的微秒数

minute()

代码语言:javascript复制
SELECT minute("1:2:3");

解析:输出分钟。第一个参数小时。第二个参数分钟。第三个参数秒

MONTHNAME()

代码语言:javascript复制
SELECT MONTHNAME('2011-11-11 11:11:11');

解析:输出月的信息(英文)

MONTH()

代码语言:javascript复制
SELECT MONTH('2011-11-11 11:11:11');

解析:返回日期中的月份值,1 到 12

now()

代码语言:javascript复制
SELECT now();

解析:当前日期和时间

PERIOD_ADD()

代码语言:javascript复制
SELECT PERIOD_ADD(201703,5);

解析:第一个参数意思:2017年3月增加五个月

period_diff()

代码语言:javascript复制
SELECT period_diff(201710, 201703);

解析:第一个参数2017年10月减去第二个参数2017年3月的值

quarter()

代码语言:javascript复制
SELECT quarter('2011-11-11 11:11:11');

解析:输出日期时间是第几季节,返回 1 到 4.代表春夏秋冬四个季节.

second()

代码语言:javascript复制
SELECT second("1:2:3");

解析:输出秒

SEC_TO_TIME()

代码语言:javascript复制
SELECT SEC_TO_TIME(4320)

解析:将以秒为单位的时间转换为时分秒的格式

STR_TO_DATE()

代码语言:javascript复制
SELECT STR_TO_DATE("August 10 2017", "%M %d %Y");

解析:将字符串转变为日期

subdate()

代码语言:javascript复制
SELECT subdate('2011-11-11 11:11:11', 1);

解析:第一个参数的日期时间减去第二个参数的天数的日期

subtime()

代码语言:javascript复制
SELECT subtime('2011-11-11 11:11:11', 5);

解析:第一个参数的日期时间减去第二个参数的秒数:5

sysdate()

代码语言:javascript复制
SELECT sysdate();

解析:输出当前日期和时间

time()

代码语言:javascript复制
SELECT time("2011-11-11 19:30:10");

解析:输出时间部分,不输出日期部分

time_format()

代码语言:javascript复制
SELECT time_format('11:11:11','%r');

解析:看第一个参数的时间是am还是pm

time_to_sec()

代码语言:javascript复制
SELECT time_to_sec('1:12:00');

解析:将时间转换为秒

0 人点赞