本篇内容
主要讲述一些常用的函数、语法,结合案例、面试题来进行实践。
日期函数
date_sub('',n) 和date_add('',n) 加减日期
select date_sub('2020-12-03',1);
+-------------+
| _c0 |
+-------------+
| 2020-12-02 |
+-------------+select date_add('2020-12-03',1);
+-------------+
| _c0 |
+-------------+
| 2020-12-04 |
+-------------+
last_day('') 返回这个月的最后一天
select last_day('2020-02-02');
+-------------+
| _c0 |
+-------------+
| 2020-02-29 |
+-------------+
dayofweek(string date)返回所给日期为所在周的第几天
select dayofweek(‘2020-12-03’); 周四
+------+
| _c0 |
+------+
| 5 |
+------+注:返回的数字应该是真正的周几加上一,因为西方一周的第一天是周日
面试题:
求出 '2020-12-03'所在月的第一天和 所在周的周一的日期
select trunc('2020-12-03','MM');
select date_sub('2020-12-03',dayofweek('2020-12-03')-2);
dayofweek 先求出日期所在的周几,然后使用当前日期-(所在周几-2) 求出周一所在的日期 1是周日 2 是周一
year(string date) 、month(string date)、 hour(string date)
datediff 计算出两个时间的差
select datediff('2020-12-04','2020-12-06');
+------+
| _c0 |
+------+
| -2 |
+------+很明显是前面日期减后面日期
条件函数