функция date to day - MySQL - требуется помощь - PullRequest
0 голосов
/ 17 марта 2012

Я пытаюсь создать функцию MySQL, в которой я предоставляю столбец даты и получаю день обратно в новом столбце, используя функцию ниже.Это то, что у меня есть.Оператор select отлично работает вне функции - я проверял его там.Может кто-нибудь помочь запустить эту функцию.Спасибо

CREATE FUNCTION `GetWeekDayNameOfDate`(`Date1` date)
RETURNS VARCHAR(50)
LANGUAGE SQL
DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN

DECLARE DayName1 varchar(50)

SELECT
CASE DATE_FORMAT(Date1 , '%w' ) 
WHEN 0 THEN 'Sunday'
WHEN 1 THEN 'Monday'
WHEN 2 THEN 'Tuesday'
WHEN 3 THEN 'Wednesday'
WHEN 4 THEN 'Thursday'
WHEN 5 THEN 'Friday'
WHEN 6 THEN 'Saturday' else null end;


RETURN DayName1;

END

Ответы [ 2 ]

0 голосов
/ 17 марта 2012
0 голосов
/ 17 марта 2012

Воспользуйтесь встроенной функцией DAYNAME(date)

UPD.

Если вы хотите присвоить какое-либо значение, возвращаемое select, для переменной yourvariable следует использовать select ... into yourvariable

CREATE FUNCTION `GetWeekDayNameOfDate`(`Date1` date)
RETURNS VARCHAR(50)
LANGUAGE SQL
DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN

DECLARE DayName1 varchar(50);

SELECT
CASE DATE_FORMAT(Date1 , '%w' ) 
WHEN 0 THEN 'Sunday'
WHEN 1 THEN 'Monday'
WHEN 2 THEN 'Tuesday'
WHEN 3 THEN 'Wednesday'
WHEN 4 THEN 'Thursday'
WHEN 5 THEN 'Friday'
WHEN 6 THEN 'Saturday' else null end INTO DayName1;


RETURN DayName1;

END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...