跳到主要内容
版本: 最新版本-3.5

makedate

根据给定的年份和一年中的日期值创建并返回一个日期。

此函数从 v3.1 开始支持。

语法

DATE makedate(INT year, INT dayOfYear);

参数

  • year:范围从 0 到 9999。如果超出此范围,则返回 NULL。支持的数据类型为 INT。
  • dayOfYear:一年中的日期。支持的数据类型为 INT。为了保持与函数 dayofyear 相同的语义,如果此数字大于 366 或在非闰年中为 366,则它不是一年中的日期。

返回值

返回给定年份的第 dayOfYear 天的日期。

  • year 必须在 [0,9999] 范围内。 否则,返回 NULL。
  • dayOfYear 必须介于 1 和当年天数之间(正常年份为 365 天,闰年为 366 天)。 否则,返回 NULL。
  • 如果任一输入参数为 NULL,结果也为 NULL。

示例

mysql> select makedate(2023,0);
+-------------------+
| makedate(2023, 0) |
+-------------------+
| NULL |
+-------------------+

mysql> select makedate(2023,32);
+--------------------+
| makedate(2023, 32) |
+--------------------+
| 2023-02-01 |
+--------------------+

mysql> select makedate(2023,365);
+---------------------+
| makedate(2023, 365) |
+---------------------+
| 2023-12-31 |
+---------------------+

mysql> select makedate(2023,366);
+---------------------+
| makedate(2023, 366) |
+---------------------+
| NULL |
+---------------------+

mysql> select makedate(9999,365);
+---------------------+
| makedate(9999, 365) |
+---------------------+
| 9999-12-31 |
+---------------------+

mysql> select makedate(10000,1);
+--------------------+
| makedate(10000, 1) |
+--------------------+
| NULL |
+--------------------+

关键词

MAKEDATE,MAKE