玖叶教程网

前端编程开发入门

您对MySQL常用内置日期时间函数认识多少?

朋友们,我们在写SQL脚本时,常用的SQL指令是很少的,掰着指头都数得过来。很多时候我们需要配合内置函数实现各种复杂需求,学习SQL语法是绝不能忽略内置函数的使用!

很多时候,一个小小的函数,就能帮您解决大问题。下面是整理的MySQL常用函数(日期时间函数部分),供您参考。


1、CURDATE()/CURRENT_DATE():获取当前日期

SELECT CURDATE();

SELECT CURRENT_DATE();

---- 返回2020-02-14

2、CURRENT_TIME()/CURTIME():获取当前时间

SELECT CURRENT_TIME();

---- 返回11:40:45

3、CURRENT_TIMESTAMP():获取当前日期和时间

SELECT CURRENT_TIMESTAMP();

---- 返回2020-02-14 11:41:32

4、ADDDATE(d,n):计算起始日期 d 加上 n 天的日期

SELECT ADDDATE("2020-02-14", INTERVAL 10 DAY);

---- 返回2020-02-24

5、ADDTIME(t,n):时间 t 加上 n 秒的时间

SELECT ADDTIME('2020-02-14 11:11:11', 5);

---- 返回2020-02-14 11:11:16

6、DATE():从日期或日期时间表达式中提取日期值

SELECT DATE("2020-02-14 11:11:16");

---- 返回2020-02-14

7、DAY(d):获取日期值 d 的日期部分

SELECT DAY("2020-02-14");

---- 返回14

8、DATEDIFF(d1,d2):计算日期 d1->d2 之间相隔的天数

SELECT DATEDIFF('2020-02-14','2020-02-24');

---- 返回-10

9、DATE_FORMAT:按表达式 f的要求显示日期 d

SELECT DATE_FORMAT('2020.02.14 11:11:11','%Y-%m-%d %r');

---- 返回2020-02-14 11:11:11 AM

10、DAYNAME(d):获取日期 d 是星期几,如 Monday,Tuesday

SELECT DAYNAME('2020-02-14 11:11:11');

---- 返回Friday

11、DAYOFMONTH(d):计算日期 d 是本月的第几天

SELECT DAYOFMONTH('2020-02-14 11:11:11');

---- 返回14

12、DAYOFWEEK(d):日期 d 今天是星期几,1 星期日,2 星期一,以此类推

SELECT DAYOFWEEK('2020-02-14 11:11:11');

---- 返回6

13、DAYOFYEAR(d):计算日期 d 是本年的第几天

SELECT DAYOFYEAR('2020-02-14 11:11:11');

---- 返回45

14、EXTRACT(type FROM d):从日期 d 中获取指定的值,type 指定返回的值

type可使用下列值:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

SELECT EXTRACT(MINUTE FROM '2020-02-14 14:15:16');

---- 返回15

SELECT EXTRACT(HOUR_MINUTE FROM '2020-02-14 14:15:16');

----返回1415

SELECT EXTRACT(YEAR_MONTH FROM '2020-02-14 14:15:16');

----返回202002

15、UNIX_TIMESTAMP():获取时间戳

SELECT UNIX_TIMESTAMP('2020-02-14');

SELECT UNIX_TIMESTAMP(expression);

---- 返回1581609600

16、FROM_UNIXTIME():将时间戳转日期

SELECT FROM_UNIXTIME(1581609600);

---- 返回2020-02-14 00:00:00

SELECT FROM_UNIXTIME(1581609600, '%Y-%m-%d');

---- 返回2020-02-14

有兴趣深入学习数据库知识,请订阅我的专栏:

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言