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('2010-02-1'));
于 2012-05-24T11:57:04.927 回答
2

使用以下语句

SELECT DAY(LAST_DAY(now()))
于 2012-05-24T11:57:26.533 回答
2

尝试

select DAY(LAST_DAY(yourdate)) as days_in_month
于 2012-05-24T12:51:52.233 回答
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 回答