常见的日期函数如下:
1.curdate
select curdate();
2.curtime
select curtime();
3.now
select now();
4.year,month,day
select year(now());
select month(now());
select day(now());
5.date_add
select date_add(now(),interval 10 day);
6.datediff
select datediff(now(),'2020-10-03');
案例
为了方便案例,在此给出表结构和插入的数据
表结构如下:
插入数据如下:
-- 插入数据
INSERT INTO emp (id, workno, name, gender, age, idcard, workaddress, entrydate) VALUES
('1', 'WN001', 'John', 'M', 28, '123456789012345678', 'Beijing', '2023-03-01'),
('2', 'WN002', 'Alice', 'F', 24, '123456789012345679', 'Shanghai', '2023-03-05'),
('3', 'WN003', 'Bob', 'M', 32, '123456789012345680', 'Guangzhou', '2023-03-08'),
('4', 'WN004', 'Cathy', 'F', 27, '123456789012345681', 'Shenzhen', '2023-03-11'),
('5', 'WN005', 'David', 'M', 30, '123456789012345682', 'Tianjin', '2023-03-15'),
('6', 'WN006', 'Emily', 'F', 26, '123456789012345683', 'Chongqing', '2023-03-18'),
('7', 'WN007', 'Frank', 'M', 33, '123456789012345684', 'Xian', '2023-03-22'),
('8', 'WN008', 'Grace', 'F', 29, '123456789012345685', 'Hangzhou', '2023-03-25'),
('9', 'WN009', 'Henry', 'M', 31, '123456789012345686', 'Nanjing', '2023-03-29'),
('10', 'WN010', 'Ivy', 'F', 25, '123456789012345687', 'Chengdu', '2023-04-02'),
('11', 'WN011', 'Jack', 'M', 29, '123456789012345688', 'Shenyang', '2023-04-06'),
('12', 'WN012', 'Kate', 'F', 27, '123456789012345689', 'Wuhan', '2023-04-09'),
('13', 'WN013', 'Leo', 'M', 33, '123456789012345690', 'Ningbo', '2023-04-13'),
('14', 'WN014', 'Maggie', 'F', 26, '123456789012345691', 'Changsha', '2023-04-16'),
('15', 'WN015', 'Nancy', 'F', 24, '123456789012345692', 'Harbin', '2023-04-20');
问题:查询所有员工的入职天数,并根据入职天数倒序。
select name, datediff(curdate(),entrydate) as 入职天数 from emp order by datediff(curdate(),entrydate) desc ;
总结:
以上就是MySQL中常见的日期函数,希望大家可以掌握。