web-dev-qa-db-fra.com

comment connaître le nombre de jours dans le mois dans mysql

J'ai plusieurs dates dans les tables mysql, en utilisant ces dates, j'ai besoin de connaître le nombre de jours dans le mois. Supposons que j'ai 2003-02-05, il devrait retourner 28. par exemple

date                days_in_month
2003-2-3            28
30
user1414880
SELECT DAY(LAST_DAY(yourdate))
76
Fedor Hajdu

Essaye ça:

SELECT DAYOFMONTH(LAST_DAY(your_date)) FROM your_table
3
Marco

Vous pouvez combiner LAST_DAY avec la fonction de chaîne

SELECT RIGHT( LAST_DAY(  '2003-02-03' ) , 2 )
3
sumit

Une alternative au hachage de chaîne consiste à utiliser:

SELECT DAY(LAST_DAY('2010-02-1'));
2
Cylindric

Je pense que vous demandez le nombre total de jours à retourner pendant un mois. Si vous essayez de trouver le nombre total de jours pour le mois en cours, voici la requête:

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

Si vous voulez externaliser ceci en utilisant n'importe quel langage de programmation, externalisez l'année et le mois dans le code et remplacez-le par now ()

1
Krishnakumar

Utilisez la déclaration suivante

SELECT DAY(LAST_DAY(now()))
1
Romil Kumar Jain

essayer

sélectionnez DAY (LAST_DAY (yourdate)) comme days_in_month

1