0

数値の最初の日と最後の日を返すストアド プロシージャを書いているので。たとえば、2 を入力すると 1-2-2013 と 28-2-2013 が返され、7 を入力すると 1-7-2013 と 31-7-2013 が返されます。2013 年は現在の年です。それをしてもいいですか?

ありがとう

4

2 に答える 2

0

現在の年の月の初めを取得するには (例では月 2 を使用):

SET @theMonth = 2;
SET @beginMonth = STR_TO_DATE(CONCAT('1-', @theMonth, '-', YEAR(CURDATE())), '%d-%m-%Y');

月の初めから月末を計算するには、1 か月を足してから 1 日を引きます。

SET @endMonth = @beginMonth + INTERVAL 1 MONTH - INTERVAL 1 DAY;
于 2013-08-08T04:01:43.383 に答える
0

LAST_DAY任意の月の最初の日は 1 であるため、適切な名前の関数を使用して、これを使用して最後の日を取得できます。

mysql> SELECT LAST_DAY(STR_TO_DATE(CONCAT(YEAR(CURDATE()),'-','2-1'),GET_FORMAT(DATE,'ISO')));
+---------------------------------------------------------------------------------+
| LAST_DAY(STR_TO_DATE(CONCAT(YEAR(CURDATE()),'-','2-1'),GET_FORMAT(DATE,'ISO'))) |
+---------------------------------------------------------------------------------+
| 2013-02-28                                                                      |
+---------------------------------------------------------------------------------+
于 2013-08-08T04:05:16.147 に答える