GBase 8s开发与管理 - 日期函数
type: channel
link: https://www.gbasedbt.com/index.php/tag/%E6%97%A5%E6%9C%9F%E5%87%BD%E6%95%B0/
items: GBase 8s获取第几周、第几天的函数

GBase 8s获取第几周、第几天的函数
type: item
date: 2020-08-20T10:02:33+08:00
description: Oracle数据库中获取某个日期是当年的第几周、当月的第几周、当年的第几天均可以使用to_char来获取。to_char(sysdate,'WW'); -- 当年第几周，以01-01 至 01-07为第一周 to_char(sysdate,'W'); -- 当月第几周，以01 至 07为第一周 to_char(sysdate,'DDD'); -- 当年第几天，以01-01 为 001GBase 8s的to_char尚未实际该功能，因此需要使用自定义函数来实现，具体如下：当年的第几周drop function if exists weekofyear(datetime year to second); -- day of year, first week is 01-01 ~ 01-07 create function weekofyear(p_datetime datetime year to second) returns int with (not variant); return trunc(1 + (p_datetime - TRUNC(p_datetime, 'YEAR')) / 7); end function;[...]