GBase 8a和天day有关的函数使用和样例汇总 – 老紫竹的家 您所在的位置:网站首页 gbase日期转换函数 GBase 8a和天day有关的函数使用和样例汇总 – 老紫竹的家

GBase 8a和天day有关的函数使用和样例汇总 – 老紫竹的家

2024-03-20 00:55| 来源: 网络整理| 查看: 265

发表于2021年1月8日2021年1月8日 作者 laozizhu

本文汇总GBase 8a数据库集群内置的与天有关的各个函数的语法、说明和使用样例。

目录导航

DAYOFWEEK

返回 date (1 = 周日, 2 = 周一, …, 7 = 周六)对应的工作日索引。

详情请查看连接内该函数的详细介绍。

WEEKDAY

返回 date 对应的星期索引(0=Monday,1=Tuesday,…6=Sunday)。

详情请查看连接内该函数的详细介绍。

DAYOFYEAR 语法 DAYOFYEAR(date) 说明

返回 date 是一年中的第几天,范围为 1 到 366。

该函数是MAKEDATE的逆函数。

用例 gbase> select dayofyear('2021-01-01'); +-------------------------+ | dayofyear('2021-01-01') | +-------------------------+ | 1 | +-------------------------+ 1 row in set (Elapsed: 00:00:00.00) gbase> select dayofyear('2021-12-31'); +-------------------------+ | dayofyear('2021-12-31') | +-------------------------+ | 365 | +-------------------------+ 1 row in set (Elapsed: 00:00:00.00)

MAKEDATE 语法 MAKEDATE(year,dayofyear) 说明

给出年份值 year 和一年中的天数值 dayofyear,返回日期值。天数转日期。dayofyear 必须大于 0,否则返回 NULL。

样例 gbase> select makedate(2021,32); +-------------------+ | makedate(2021,32) | +-------------------+ | 2021-02-01 | +-------------------+ 1 row in set (Elapsed: 00:00:00.00) gbase> select makedate(2021,365); +--------------------+ | makedate(2021,365) | +--------------------+ | 2021-12-31 | +--------------------+ 1 row in set (Elapsed: 00:00:00.00)

FROM_DAYS 语法 FROM_DAYS(N) 说明

返回天数 N 对应的 DATE 值。

该函数是to_days的逆函数。

样例

其中的数字,请参考后面的to_days函数。

gbase> select @d,from_days(738156); +------------+-------------------+ | @d | from_days(738156) | +------------+-------------------+ | 2021-01-01 | 2021-01-01 | +------------+-------------------+ 1 row in set (Elapsed: 00:00:00.00)

极限数字是366,再小就返回null。

gbase> select from_days(366); +----------------+ | from_days(366) | +----------------+ | 0001-01-01 | +----------------+ 1 row in set (Elapsed: 00:00:00.00) gbase> select from_days(365); +----------------+ | from_days(365) | +----------------+ | NULL | +----------------+ 1 row in set (Elapsed: 00:00:00.00) TO_DAYS 语法 TO_DAYS(date) 说明

返回日期 date 对应的天数(从年份 0 开始的天数)。

该函数时from_days的逆函数。

TO_DAYS()不用于阳历(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。

用例 正常日期 gbase> select to_days('2020-01-01'); +-----------------------+ | to_days('2020-01-01') | +-----------------------+ | 737790 | +-----------------------+ 1 row in set (Elapsed: 00:00:00.00) 支持2位数的年份

默认是当前世纪。

gbase> select to_days('20-01-01'); +---------------------+ | to_days('20-01-01') | +---------------------+ | 737790 | +---------------------+ 1 row in set (Elapsed: 00:00:00.00) 支持紧凑年月日写法 gbase> select to_days('20200101'); +---------------------+ | to_days('20200101') | +---------------------+ | 737790 | +---------------------+ 1 row in set (Elapsed: 00:00:00.00) gbase> select to_days('200101'); +-------------------+ | to_days('200101') | +-------------------+ | 737790 | +-------------------+ 1 row in set (Elapsed: 00:00:00.00) 极限最低年份

0001-01-01是最低年份,不能用0000年。

gbase> select to_days('0000-12-01'); +-----------------------+ | to_days('0000-12-01') | +-----------------------+ | NULL | +-----------------------+ 1 row in set, 1 warning (Elapsed: 00:00:00.00) gbase> select to_days('0001-01-01'); +-----------------------+ | to_days('0001-01-01') | +-----------------------+ | 366 | +-----------------------+ 1 row in set (Elapsed: 00:00:00.00)

LAST_DAY 语法 LAST_DAY(date) 说明

返回 date 所在月最后一天的值。其中,date 为日期或日期时间类型。如果参数 date 无效,则返回 NULL。

用例

自动计算当前日期所在月,最后一天的日期。支持闰年。

gbase> select last_day('2021-01-01'); +------------------------+ | last_day('2021-01-01') | +------------------------+ | 2021-01-31 | +------------------------+ 1 row in set (Elapsed: 00:00:00.00) gbase> select last_day('2021-02-02'); +------------------------+ | last_day('2021-02-02') | +------------------------+ | 2021-02-28 | +------------------------+ 1 row in set (Elapsed: 00:00:00.01)

如果是非法日期,则返回NULL。

gbase> select dayofyear('20210-01-01'); +--------------------------+ | dayofyear('20210-01-01') | +--------------------------+ | NULL | +--------------------------+ 1 row in set, 1 warning (Elapsed: 00:00:00.00) gbase> show warnings; +---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Incorrect datetime value: '20210-01-01' | +---------+------+-----------------------------------------+ 1 row in set (Elapsed: 00:00:00.00) 参考

GBase 8a字符串和日期函数汇总列表

Post Views: 550 相关文章: GBase 8a和周week有关的函数和文章汇总 GBase 8a数据库函数从日期转为天 to_days和反向从天转成日期from_days GBase 8a OLAP分析函数group by rollup使用样例 GBase 8a通过LEAST函数返回参数列表里的最小值,与Min的区别 GBase 8a字符串函数bit_length的用法和例子 GBase 8a将日期转字符串to_char函数功能介绍和样例 GBase 8a字符串字节长度函数LENGTH的用法和例子 GBase 8a 模糊查询和正则函数regexp_replace、regexp_like GBase 8a函数INSTR的使用样例 GBase 8a进制相关类型转换的函数汇总


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有