Ex21.1
- 导入school_DB数据库,做以下操作:
- 日期时间函数
– 1. 给学生表的UPTIME字段统一赋当前时间。(知识点:UPDATE更新,NOW()函数)
– 2. 查询2004年出生的学生信息; 查询所有10月份过生的学生信息; 显示生日是星期几。(知识点:YEAR(),MONTH(),WEEKDAY()函数)
– 3. 显示截止今天,学生出生的总天数; (知识点:DATEDIFF())
– 4. 将学生表的CREATETIME字段,ID为奇数的更改为1年前今天的日子;下一月的今天是星期几?(知识点:CURDATE(), DATE_ADD()函数,MOD运算符) - 条件判断函数
– 5.查询专业DEPARTS表,若TYPE=1显示为二级学院,否则显示非二级学院。若TYPE=1:二级学院,TYPE=2:功能处室,TYPE=3:外企。(知识点:IF()函数)
– 6.查询学生STUNDENTS表,已填报生日的显示生日,未填报的显示”生日未知“。(知识点:IFNULL()函数)
– 7.显示学生生日是星期几,格式如:星期日。(知识点:CASE…WHEN…THEN…END语句,CONCAT(),WEEKDAY()函数)
UPDATE students SET uptime=NOW();
SELECT * FROM students WHERE YEAR(birthday)=2004;
SELECT * FROM students WHERE MONTH(birthday)=10;
SELECT id,sno,sname,mclassid,birthday,
CASE (WEEKDAY(birthday)+1)
WHEN 1 THEN
'星期一'
WHEN 2 THEN
'星期二'
WHEN 3 THEN
'星期三'
WHEN 4 THEN
'星期四'
WHEN 5 THEN
'星期五'
WHEN 6 THEN
'星期六'
WHEN 7 THEN
'星期日'
ELSE '生日未知'
END
AS '生日星期'
FROM students;
SELECT *,DATEDIFF(NOW(),birthday) '出生天数' FROM students;
UPDATE students
SET createtime=DATE_ADD(CURDATE(),INTERVAL -1 YEAR)
WHERE MOD(id,2)<>0;
SELECT
CASE (WEEKDAY(DATE_ADD(CURDATE(),INTERVAL 1 MONTH))+1)
WHEN 1 THEN
'星期一'
WHEN 2 THEN
'星期二'
WHEN 3 THEN
'星期三'
WHEN 4 THEN
'星期四'
WHEN 5 THEN
'星期五'
WHEN 6 THEN
'星期六'
WHEN 7 THEN
'星期日'
ELSE '未知'
END
AS '下一月的今天是星期几';
SELECT *,IF(TYPE=1,'二级学院',IF(TYPE=2,'功能处室','外企')) AS '部门类型'
FROM departs;
SELECT id,sno,sname,mclassid,pwd,createtime,uptime,IFNULL(birthday,'生日未知') '生日'
FROM students;
SELECT CONCAT(sno,'--',sname,'--生日是',
CASE (WEEKDAY(birthday)+1)
WHEN 1 THEN
'星期一'
WHEN 2 THEN
'星期二'
WHEN 3 THEN
'星期三'
WHEN 4 THEN
'星期四'
WHEN 5 THEN
'星期五'
WHEN 6 THEN
'星期六'
WHEN 7 THEN
'星期日'
ELSE '未知'
END) AS '学生信息'
FROM students;