0

日付列を提供する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
4

2 に答える 2

0

組み込み関数を活用するDAYNAME(date)

アップデート。

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
于 2012-03-17T15:03:52.073 に答える
0

なぜ車輪を再発明するのですか?

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek

于 2012-03-17T15:04:18.797 に答える