FROM_DAYS()没有给出预期的输出[MySQL]

时间:2017-12-04 05:17:45

标签: mysql

官方文档说FROM_DAYS返回给定天数N的有效日期。

那为什么会这样呢? trying out from_days(N)

如果它不显示不到一年的有效日期,例如 from_days(5)= 0000-01-05?

编辑:我正在解决一个问题,该问题为“查找员工在加入日期时的工作时间,并以年,月,日的格式报告持续时间”

我正在使用以下查询:

select Emp_Name,    
date_format(from_days(datediff(curdate(),Date_of_Join)),"%y") as year,  
date_format(from_days(datediff(curdate(),Date_of_Join)),"%m") as month,   
date_format(from_days(datediff(curdate(),Date_of_Join)),"%d") as day 
from EMPLOYEE;

正是在这些结果中我发现了这种差异。

1 个答案:

答案 0 :(得分:0)

正如MySql manual报告:

  

该功能不适用于日期出现之前的日期   公元1582年10月的阳历。结果不可靠   因为它没有考虑日历改变时丢失的天数   从朱利安历法。

因此,如果您使用较小的数字(大约N <1582 * 365)设置此函数的参数,则它不可靠。