我在MySQL存储过程中遇到问题
表tbl_teachers
:
id dat_teacher_doj fk_int_dept_id
1 1982-01-10 1
2 1979-09-01 1
3 1981-10-13 1
这里我需要创建一个存储过程来查找教师的加入日期,如果它是星期一它应该显示星期一,否则它应该显示“工作日”? 我需要答案:
呼叫检查日期(1982-01-10) - >天 平日
答案 0 :(得分:2)
您不需要存储过程。围绕dayofweek
调用的简单case
表达式可以解决这个问题:
SELECT id, dat_teacher_doj,
CASE DAYOFWEEK(dat_teacher_doj) WHEN 2 THEN 'Monday' ELSE 'Weekday' END
FROM tbl_teachers
答案 1 :(得分:1)
CASE
的帮助下,只需DAYNAME
表达式
SELECT id, dat_teacher_doj,
CASE DAYNAME(dat_teacher_doj) WHEN 'Monday' THEN 'Monday' ELSE 'Weekday' END
FROM tbl_teachers
程序:这适用于localhost phpmyadmin
以及workbench
CREATE PROCEDURE `GetWeekDay`(IN `paramDate` DATE)
NO SQL
SELECT CASE DAYNAME(paramDate) WHEN 'Monday' THEN 'Monday' ELSE 'Weekday' END AS 'WkDy'
呼叫
CALL `GetWeekDay`('2015-08-03');