Reputation:
I have several dates in mysql tables, using those dates I need to find out the number of days in the month. Suppose i have 2003-02-05 it should return 28. for example
date days_in_month
2003-2-3 28
Upvotes: 39
Views: 50051
Reputation: 11
I think you are asking the total number of days to be returned for a month. If you are trying to find the total number of days for current month, here is the query:
select timestampdiff(day,
concat(year(now()),'-',month(now()),'-01'),
date_add( concat(year(now()),'-',month(now()),'-01'), interval 1 month)).
If you want to externalize this using any programming language, externalize year and month in the code and replace that with now()
Upvotes: 1
Reputation: 5894
An alternative to string-chopping is to use:
SELECT DAY(LAST_DAY('2010-02-1'));
Upvotes: 2
Reputation: 15464
You can combine LAST_DAY with string function
SELECT RIGHT( LAST_DAY( '2003-02-03' ) , 2 )
Upvotes: 3