VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

WEEK

功能描述

WEEK函数用于计算一个日期所在的周数。

语法格式

WEEK(date[, mode])

参数说明

  • date

    需要计算的日期,必选参数。

  • mode

    用于指定周的起始日,可选参数,默认为1。

    mode值 一周的第一天 范围 初始周计算规则
    0 Sunday 0-53 今年有一个星期天
    1 Monday 0-53 今年有四天或以上
    2 Sunday 1-53 今年有一个星期天
    3 Monday 1-53 今年有四天或以上
    4 Sunday 0-53 今年有四天或以上
    5 Monday 0-53 今年有一个星期一
    6 Sunday 1-53 今年有四天或以上
    7 Monday 1-53 今年有一个星期一

示例

示例1: 直接调用WEEK函数。

select week('2000-06-30 23:59:59'::date,0);

返回结果如下所示:

 week
------
   26
(1 row)

示例2: 在存储过程中使用WEEK函数。

1、创建存储过程。

CREATE OR REPLACE PROCEDURE pro_week
(
param1 IN DATETIME,
param2 IN out int
)
AS
BEGIN
param2:= week(param1,param2);
dbms_output.put_line('result is: '||to_char(param2));
END;
/

2、调用存储过程。

SELECT pro_week('2000-12-01 00:00:00',1);

返回结果如下所示:

 pro_week
----------
       48
(1 row)