MySQL选择当年的最后一天

时间:2016-01-25 18:55:51

标签: mysql

我正在寻找使用MySQL以2016-12-31格式选择/返回当前年度最后一个月/日的最简单方法。我见过使用Postgres和SQL Server而不是MySQL的例子。

5 个答案:

答案 0 :(得分:9)

这是一个不太优雅的解决方案。

SELECT DATE_FORMAT(NOW(),'%Y-12-31')

答案 1 :(得分:2)

可能有更简单的解决方案,但这是使用LAST_DAY()DATE_ADD()的方法:

Uncaught SyntaxError: Unexpected token ILLEGAL

这应该返回当年的最后一天。

答案 2 :(得分:0)

要获取一个月的最后一天,请使用last_day功能

  

MySQL LAST_DAY()返回日期或日期时间值的相应月份的最后一天。如果date或datetime值无效,则该函数返回NULL。

或者,为了获得一年中的最后一天,你可以这样做

SELECT DATE_ADD(DATE_SUB(CURDATE(), INTERVAL DAYOFYEAR(CURDATE()) DAY), INTERVAL 1 YEAR);

答案 3 :(得分:0)

SELECT concat(concat(DATE_FORMAT(sysdate(),'%Y')),'-','10','-','01') end_year;

SELECT DATE_SUB(curdate(),INTERVAL (DAY(curdate()-1)) DAY) frist_day_month;

SELECT DATE_SUB(curdate(),INTERVAL (DAY(curdate()-1)) DAY) frist_day_month;

select    TIMESTAMPADD(month,-1*timestampdiff(month
       , now()
       , '1900-10-01'
       ),'1900-01-01')

答案 4 :(得分:0)

尝试使用这个:

SELECT DATE(CONCAT(YEAR(CURDATE()),"-12-31"))

无需通过添加或子日来查找一年中的最后一天。 你已经知道,这是每年12月31日。 所以只需给Mysql一个唯一的实变量:当年

返回DATE而不是格式化为STRING的日期。