【发布时间】:2023-03-21 19:00:01
【问题描述】:
我正在尝试创建一个存储过程,当给定月份值时,它会返回用户该月的最后一天。
到目前为止:
DROP PROCEDURE IF EXISTS getLastDayMonth$$
CREATE PROCEDURE getLastDayMonth(IN inMonth int)
BEGIN
SELECT LAST_DAY(inMonth);
END $$
我无法弄清楚如何使inMonth 成为sql 函数Last_DAY 接受的参数。是否有另一个函数将 int 作为一个月并返回该月的最后一天?我试图避免将 DATE 类型作为参数
【问题讨论】:
-
inMonth 应该代表哪一年的哪一个月?今年、去年、明年……? (3 月到 1 月不一定重要,但对于 2 月,年份至关重要!)
-
inMonth 应该是任意月份,只要可以返回最后一天,年份并不重要。我了解 2 月的问题,但是 Last_Day 函数可以为第 02 个月提供的任何内容都可以
-
出于好奇:最后一天的用途是什么?作为用户,我会有点困惑,如果程序会在 2 月 28 日而不是 29 日返回我,反之亦然......
标签: mysql function stored-procedures