在学习MySQL的时候,一个较为经典的SQL编程题目就是生日问题,已知某个用户的出生日期和当前日期,计算他最近的生日。
一般需要考虑两个问题
- 闰年2月是29天
- 今年的生日是否过完
例如:某人的生日是1992年2月29日,当前若当前日期是2004年1月2日,那么他的最近生日是2004年2月29日;若当前日期是2004年3月3日,那么他最近的生日则是2005年3月1日。
现在,利用SQL编程解决这个求生日的问题。
创建employees表
Create Table: CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` enum('M','F') NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
再插入一些数据
INSERT INTO `employees` VALUES ('10001', '1953-12-12', 'Georgi', 'Facello', 'M',