这可能是一个重新发布的帖子,但我找不到任何可以回答这个问题的内容。我有一张桌子,天数列为双打,如435.6或5.2,我需要将其转换为一个月。我试过了:
SELECT day FROM table WHERE DATE_ADD('2014-01-01', INTERVAL 31 DAY);
但该查询只是吐出相同的内容。请帮忙。
答案 0 :(得分:0)
编辑版:
假设您的表名为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