次のような手順を書きたいと思います。
CREATE PROCEDURE `addByType`(IN myDate DATETIME, IN myType INT, OUT output DATETIME)
BEGIN
DECLARE unit ?;
CASE
WHEN myType = 1 THEN
SET unit = HOUR;
WHEN myType = 2 THEN
SET unit = DAY;
...
END CASE;
SELECT TIMESTAMPADD(unit, 1, myDate) INTO output;
END
なんとなく可能ですか?unit キーワードを変数に格納できますか? または、同じことを達成する別の方法はありますか?