MySQL MAKEDATE() 函数根据指定的 year 和 number_of_days 值返回日期。如果number_of_days小于1,该函数将返回NULL。
语法
MAKEDATE(year, number_of_days)
参数
year | 必填。 指定用于创建日期的 4 位数年份。 |
number_of_days | 必填。 指定用于创建日期的一年中的第几天(大于 0)。 |
返回值
返回基于指定的year和number_of_days值的日期。
示例1:
下面的示例显示了MAKEDATE() 函数。
mysql> SELECT MAKEDATE(2018, 100);
Result: '2018-04-10'
mysql> SELECT MAKEDATE(2018, 200);
Result: '2018-07-19'
mysql> SELECT MAKEDATE(2018, 365);
Result: '2018-12-31'
mysql> SELECT MAKEDATE(2018, 366);
Result: '2019-01-01'
mysql> SELECT MAKEDATE(2018, 400);
Result: '2019-02-04'
mysql> SELECT MAKEDATE(2018, 0);
Result: NULL
示例 2:
考虑一个名为 Sample 的数据库表,其中包含以下记录:
Data | Year | Days |
---|---|---|
Data 1 | 2014 | 50 |
Data 2 | 2015 | 100 |
Data 3 | 2016 | 150 |
Data 4 | 2017 | 200 |
Data 5 | 2018 | 250 |
要根据年列和天列的值创建日期,可以使用以下查询:
SELECT *, MAKEDATE(Year, Days) AS MAKEDATE_Value FROM Sample;
这将产生如下所示的结果:
Data | Year | Days | MAKEDATE_Value |
---|---|---|---|
Data 1 | 2014 | 50 | 2014-02-19 |
Data 2 | 2015 | 100 | 2015-04-10 |
Data 3 | 2016 | 150 | 2016-05-29 |
Data 4 | 2017 | 200 | 2017-07-19 |
Data 5 | 2018 | 250 | 2018-09-07 |