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
SELECT DAY(LAST_DAY(yourdate))
Essaye ça:
SELECT DAYOFMONTH(LAST_DAY(your_date)) FROM your_table
Vous pouvez combiner LAST_DAY avec la fonction de chaîne
SELECT RIGHT( LAST_DAY( '2003-02-03' ) , 2 )
Une alternative au hachage de chaîne consiste à utiliser:
SELECT DAY(LAST_DAY('2010-02-1'));
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 ()
Utilisez la déclaration suivante
SELECT DAY(LAST_DAY(now()))
essayer
sélectionnez DAY (LAST_DAY (yourdate)) comme days_in_month