39

mysqlテーブルにいくつかの日付があり、それらの日付を使用して、月の日数を調べる必要があります。2003-02-05があるとすると、28が返されます。たとえば

date                days_in_month
2003-2-3            28
4

7 に答える 7

94
SELECT DAY(LAST_DAY(yourdate))
于 2012-05-24T11:56:46.427 に答える
4

LAST_DAYを文字列関数と組み合わせることができます

SELECT RIGHT( LAST_DAY(  '2003-02-03' ) , 2 )
于 2012-05-24T11:55:46.800 に答える
3

これを試して:

SELECT DAYOFMONTH(LAST_DAY(your_date)) FROM your_table
于 2012-05-24T11:55:45.193 に答える
2

試す

select DAY(LAST_DAY(yourdate)) as days_in_month
于 2012-05-24T12:51:52.233 に答える
2

文字列チョッピングの代替手段は、次を使用することです。

SELECT DAY(LAST_DAY('2010-02-1'));
于 2012-05-24T11:57:04.927 に答える
2

次のステートメントを使用します

SELECT DAY(LAST_DAY(now()))
于 2012-05-24T11:57:26.533 に答える
1

1 か月に返される合計日数を尋ねていると思います。現在の月の合計日数を見つけようとしている場合、クエリは次のとおりです。

select timestampdiff(day,
concat(year(now()),'-',month(now()),'-01'),
date_add( concat(year(now()),'-',month(now()),'-01'), interval 1 month)).

任意のプログラミング言語を使用してこれを外部化する場合は、コード内で年と月を外部化し、それを now() に置き換えます。

于 2013-04-11T10:32:48.643 に答える