我正在尝试创建一个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
答案 0 :(得分:0)
利用内置函数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
答案 1 :(得分:0)