通过存储过程显示日期

display day through stored procedure

我在 MySQL 存储过程中遇到问题

table 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) ->天 工作日

您不需要为此使用存储过程。围绕 dayofweek 调用的简单 case 表达式应该可以解决问题:

SELECT id, dat_teacher_doj,
       CASE DAYOFWEEK(dat_teacher_doj) WHEN 2 THEN 'Monday' ELSE 'Weekday' END
FROM   tbl_teachers

只是 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');