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