这可能是重新发布的内容,但是我找不到任何可以回答我问题的内容。我有一张桌子,上面列出的日期是435.6或5.2之类的双精度日,我需要将其转换成一个月。我试过了:
SELECT day FROM table WHERE DATE_ADD('2014-01-01', INTERVAL 31 DAY);
但是那个查询只是吐出来的一样。请帮忙。
最佳答案
编辑版本:
假设您的表名为t
,十进制列名为d
select date_format(date_add('2014-01-01', interval d day),"%m") from t;
在将
'2014-01-01'
天添加到纪元后,应添加纪元日期(d
)并将结果格式设置为数字(00-12)。对于以单词表示的月份(1月至12月),请使用"%M"
。 here's documentation for DATE_FORMAT
。here is a fiddle of the above code working for sample values