mysqlテーブルにいくつかの日付があり、それらの日付を使用して、月の日数を調べる必要があります。2003-02-05があるとすると、28が返されます。たとえば
date days_in_month
2003-2-3 28
SELECT DAY(LAST_DAY(yourdate))
LAST_DAYを文字列関数と組み合わせることができます
SELECT RIGHT( LAST_DAY( '2003-02-03' ) , 2 )
これを試して:
SELECT DAYOFMONTH(LAST_DAY(your_date)) FROM your_table
試す
select DAY(LAST_DAY(yourdate)) as days_in_month
文字列チョッピングの代替手段は、次を使用することです。
SELECT DAY(LAST_DAY('2010-02-1'));
次のステートメントを使用します
SELECT DAY(LAST_DAY(now()))
1 か月に返される合計日数を尋ねていると思います。現在の月の合計日数を見つけようとしている場合、クエリは次のとおりです。
select timestampdiff(day,
concat(year(now()),'-',month(now()),'-01'),
date_add( concat(year(now()),'-',month(now()),'-01'), interval 1 month)).
任意のプログラミング言語を使用してこれを外部化する場合は、コード内で年と月を外部化し、それを now() に置き換えます。