计算月份和年份的日期

时间:2016-09-21 19:45:22

标签: mysql sql

我的表格包含两列,expMonthexpYear。我需要SELECT *日期早于NOW()。我的问题是,我甚至不知道如何在 SQL 中解决这个问题,因为我只有一个月和一年。此外,我需要找到给定月份的最大天数,然后根据该天数,将信息拼凑起来创建日期,然后将该日期与NOW()进行比较。从我在网上看到的情况来看,你不能真正在一个月和一年中在 SQL 中创建一个日期。

示例:

expMonth = 09 , expYear = 16.
findNumberOfDays(expMonth)
createDate(numberOfDaysforMonth,expMonth,expYear)`

SELECT * FROM Stacks WHERE createDate < NOW();

这只是一些逻辑/伪代码。

有没有人对如何解决这个问题有任何建议?

2 个答案:

答案 0 :(得分:0)

嗯。嗯。 。

where str_to_date(concat(exp_year, '-', expmonth), '%Y-%m') < now()

MySQL可以处理部分日期。但是,如果你真的想要,你可以使用

str_to_date(concat(exp_year, '-', expmonth, '-01'), '%Y-%m-%d') < now() 

如果您认为更清楚。

答案 1 :(得分:0)

其中str_to_date(concat(exp_year,&#39; - &#39;,expmonth),&#39;%Y-%m-01&#39;)&lt;现在()

如果您需要将日期作为该月的最后一天:

其中last_day(str_to_date(concat(exp_year,&#39; - &#39;,expmonth),&#39;%Y-%m-01&#39;))&lt;现在()