display day through stored procedure

我们两清 提交于 2019-12-04 04:28:21

问题


I have an problem in MySQL stored procedure

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

here i need to create an stored procedure to find out the joining date of teachers and if it is a Monday it should display Monday else it should display “Weekday” ? i need the answer like:

call check-date (1982-01-10) ->day weekday


回答1:


just CASE expression with the help of DAYNAME

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

Procedure:this will work in localhost phpmyadmin as well as workbench

CREATE PROCEDURE `GetWeekDay`(IN `paramDate` DATE)
 NO SQL 
SELECT CASE DAYNAME(paramDate) WHEN 'Monday' THEN 'Monday' ELSE 'Weekday' END AS 'WkDy' 

Call

CALL `GetWeekDay`('2015-08-03');



回答2:


You don't need a stored procedure for this. A simple case expression around a dayofweek call should do the trick:

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


来源:https://stackoverflow.com/questions/31769551/display-day-through-stored-procedure

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!