通过dayofyear函数返回指定日期是该年的第几天,那如何从这个天数数值逆向获得该日期呢?本文介绍转化的方法。
目录导航
dayofyear介绍
该函数返回的数字是日期所在年的第几天,比如
gbase> select dayofyear('2021-02-01');
+-------------------------+
| dayofyear('2021-02-01') |
+-------------------------+
| 32 |
+-------------------------+
1 row in set (Elapsed: 00:00:00.00)
详细介绍请参考:GBase 8a和天day有关的函数使用和样例汇总
从数字转化成日期的方法
首先参数有年:year, 天数 days. 可以从这一年的1月1日开始,增加days-1天即可得到期望的日期。
用MAKEDATE(year,dayofyear)函数
gbase> select makedate(2021,32);
+-------------------+
| makedate(2021,32) |
+-------------------+
| 2021-02-01 |
+-------------------+
1 row in set (Elapsed: 00:00:00.00)
详情请参考 GBase 8a和天day有关的函数使用和样例汇总
用date_add函数
根据年,构造这一年的第一天。然后用date_add增加天数减一。
gbase> select date_add(concat('2021','-01-01'),interval 365-1 day);
+------------------------------------------------------+
| date_add(concat('2021','-01-01'),interval 365-1 day) |
+------------------------------------------------------+
| 2021-12-31 00:00:00 |
+------------------------------------------------------+
1 row in set (Elapsed: 00:00:00.00)